
void sqlite3Update(Parse *pParse,SrcList *pTabList,ExprList *pChanges,Expr *pWhere,int onError,
                  ExprList *pOrderBy,Expr *pLimit,Upsert *pUpsert)

{
  byte *pbVar1;
  u8 uVar2;
  byte bVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  int iVar7;
  WhereInfo *pWVar8;
  int iVar9;
  u32 uVar10;
  TableLock *pTVar11;
  u16 wctrlFlags;
  undefined4 uVar12;
  code *pcVar13;
  Index *pIVar14;
  Parse *pPVar15;
  undefined1 *puVar16;
  int iVar17;
  byte *pbVar18;
  Parse *pPVar19;
  Op *pOVar20;
  byte *pbVar21;
  char *pcVar22;
  Column *pCVar23;
  sqlite3 *psVar24;
  short *psVar25;
  undefined4 uVar26;
  code *pcVar27;
  uint uVar28;
  byte *pbVar29;
  Parse *unaff_s0;
  uint uVar30;
  Table *unaff_s1;
  Table *pTVar31;
  sqlite3 *psVar32;
  ExprList_item *pEVar33;
  code *pcVar34;
  Table *unaff_s5;
  Table *pTVar35;
  Parse *unaff_s7;
  code *pcVar36;
  Expr *pEVar37;
  WhereInfo *unaff_s8;
  WhereInfo *pWVar38;
  Expr *pEStack_f8;
  Expr *pEStack_f4;
  code *pcStack_f0;
  code *pcStack_ec;
  Upsert *pUStack_e8;
  code *pcStack_e4;
  Parse *pPStack_e0;
  code *pcStack_dc;
  code *pcStack_d8;
  WhereInfo *pWStack_d4;
  Trigger *pTStack_d0;
  code *pcStack_cc;
  WhereInfo *pWStack_c8;
  code *pcStack_c4;
  sqlite3 *psStack_c0;
  Select *pSStack_bc;
  Expr *pEStack_b8;
  int iStack_b4;
  int iStack_ac;
  code *pcStack_a8;
  code *pcStack_a4;
  int iStack_a0;
  int iStack_9c;
  code *pcStack_98;
  int iStack_94;
  Parse *pPStack_90;
  code *pcStack_8c;
  WhereInfo *pWStack_88;
  int tmask;
  int bReplace;
  AuthContext sContext;
  NameContext sNC;
  int aiCurOnePass [2];
  
  puVar5 = PTR___stack_chk_guard_00190e24;
  pEStack_f8 = (Expr *)pOrderBy;
  psVar32 = pParse->db;
  iVar17 = *(int *)PTR___stack_chk_guard_00190e24;
  pEStack_f4 = pLimit;
  bReplace = 0;
  sContext.zAuthContext = (char *)0x0;
  sContext.pParse = (Parse *)0x0;
  pUStack_e8 = pUpsert;
  if ((pParse->nErr != 0) || (psVar32->mallocFailed != '\0')) goto LAB_0010d4a8;
  unaff_s1 = sqlite3SrcListLookup(pParse,pTabList);
  if (unaff_s1 != (Table *)0x0) {
    if (unaff_s1->pSchema == (Schema *)0x0) {
      iStack_b4 = -1000000;
    }
    else {
      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);
    }
    pTStack_d0 = (Trigger *)
                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask);
    pSStack_bc = unaff_s1->pSelect;
    if (pSStack_bc == (Select *)0x0) {
      pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))
                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);
      pEStack_f4 = (Expr *)0x0;
      pEStack_f8 = (Expr *)0x0;
    }
    iVar7 = sqlite3ViewGetColumnNames(pParse,unaff_s1);
    if ((iVar7 == 0) &&
       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0))
    {
      pWStack_d4 = (WhereInfo *)pParse->nTab;
      pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);
      pParse->nTab = (int)pWStack_c8;
      pTVar35 = (Table *)unaff_s1->pIndex;
      unaff_s8 = pWStack_d4;
      if ((unaff_s1->tabFlags & 0x20) == 0) {
        unaff_s5 = (Table *)0x0;
        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;
        pPStack_90 = (Parse *)0x0;
      }
      else if (pTVar35 == (Table *)0x0) {
        unaff_s5 = (Table *)0x0;
        pPStack_90 = (Parse *)0x0;
      }
      else {
        bVar3 = (byte)pTVar35->addColOffset;
        unaff_s5 = pTVar35;
        while (((bVar3 & 0xc0) != 0x80 &&
               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {
          bVar3 = (byte)unaff_s5->addColOffset;
        }
LAB_0010d700:
        pWVar38 = pWStack_c8;
        do {
          if (unaff_s5 == pTVar35) {
            unaff_s8 = pWVar38;
          }
          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);
          pParse->nTab = (int)pWVar38;
          pTVar35 = (Table *)pTVar35->zColAff;
          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));
        } while (pTVar35 != (Table *)0x0);
      }
      if (pUpsert != (Upsert *)0x0) {
        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;
        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;
        pParse->nTab = (int)pWStack_d4;
      }
      pTabList->a[0].iCursor = (int)unaff_s8;
      pcStack_a8 = (code *)(uint)psVar32->mallocFailed;
      unaff_s7 = pPStack_90;
      if ((pcStack_a8 == (code *)0x0) &&
         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),
         pcStack_ec != (code *)0x0)) {
        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;
        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;
        (*(code *)PTR_memset_00190d58)(pcStack_98,1);
        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;
        if (0 < unaff_s1->nCol) {
          iVar7 = 0;
          pcVar27 = pcStack_ec;
          do {
            *(undefined4 *)pcVar27 = 0xffffffff;
            iVar7 = iVar7 + 1;
            pcVar27 = pcVar27 + 4;
          } while (iVar7 < unaff_s1->nCol);
        }
        sNC.pNext = (NameContext *)0x0;
        sNC.nRef = 0;
        sNC.uNC.pUpsert = pUpsert;
        sNC.nErr = 0;
        sNC.pWinSelect = (Select *)0x0;
        sNC.ncFlags = 0x200;
        sNC._26_2_ = 0;
        sNC.pParse = pParse;
        sNC.pSrcList = pTabList;
        if (pChanges->nExpr < 1) {
          pcStack_d8 = (code *)0x0;
          pEStack_b8 = (Expr *)0x0;
        }
        else {
          pEVar33 = pChanges->a;
          pPVar15 = (Parse *)&sNC;
          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);
          pWVar38 = (WhereInfo *)0x0;
          pcStack_d8 = (code *)0x0;
          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);
          pEStack_b8 = (Expr *)0x0;
          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);
          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);
          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);
          do {
            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);
            pTVar35 = unaff_s1;
            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;
            pbVar29 = (byte *)pEVar33->zName;
            if (0 < unaff_s1->nCol) {
              pCVar23 = unaff_s1->aCol;
              do {
                pbVar18 = (byte *)pCVar23->zName;
                uVar28 = (uint)*pbVar18;
                pbVar21 = pbVar29;
                if (*(char *)((int)&unaff_s7->db + uVar28) ==
                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {
                  do {
                    if (uVar28 == 0) {
                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {
                        pEStack_b8 = pEVar33->pExpr;
                        pcStack_d8 = (code *)0x1;
                      }
                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {
                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);
                      }
                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;
                      if ((int)unaff_s1->nCol <= (int)pTVar31) {
                        pbVar29 = (byte *)pEVar33->zName;
                        goto LAB_0010d954;
                      }
                      pcVar22 = unaff_s1->zName;
                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;
                      goto LAB_0010d98c;
                    }
                    pbVar18 = pbVar18 + 1;
                    pbVar1 = pbVar21 + 1;
                    uVar28 = (uint)*pbVar18;
                    pbVar21 = pbVar21 + 1;
                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==
                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));
                }
                pTVar31 = (Table *)((int)&pTVar31->zName + 1);
                pCVar23 = pCVar23 + 1;
              } while ((Table *)(int)unaff_s1->nCol != pTVar31);
            }
LAB_0010d954:
            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {
              (*(code *)(PTR_LAB_00190bdc + 0x5160))
                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);
              pParse->checkSchema = '\x01';
              pPVar15 = pParse;
              goto LAB_0010d60c;
            }
            pEStack_b8 = pEVar33->pExpr;
            pTVar31 = (Table *)0xffffffff;
            pcVar22 = unaff_s1->zName;
            pcStack_d8 = (code *)0x1;
            psVar24 = psStack_c0;
LAB_0010d98c:
            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);
            if (iVar7 == 1) goto LAB_0010d60c;
            if (iVar7 == 2) {
              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;
            }
            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);
            pEVar33 = pEVar33 + 1;
          } while ((int)pWVar38 < pChanges->nExpr);
        }
        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);
        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);
        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);
        *(int *)&pTabList->a[0].colUsed = iVar7;
        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;
        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);
        if (onError == 5) {
          pTVar35 = (Table *)unaff_s1->pIndex;
          bReplace = 1;
          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;
        }
        else {
          pTVar35 = (Table *)unaff_s1->pIndex;
          if (pTVar35 != (Table *)0x0) {
LAB_0010da68:
            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);
            iVar7 = 0;
            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);
            pcVar27 = pcStack_a4;
            do {
              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&
                  (pTVar35 != unaff_s5)) &&
                 ((pTVar35->tabFlags == 0 ||
                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {
                iVar9 = 0;
                if (*(short *)&pTVar35->field_0x32 != 0) {
                  do {
                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);
                    if (iVar6 < 0) {
                      uVar28 = (*pcVar13)(*(undefined4 *)
                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,
                                          pcStack_d8);
                    }
                    else {
                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;
                    }
                    iVar9 = iVar9 + 1;
                    if (uVar28 != 0) {
                      iVar9 = pParse->nMem + 1;
                      pParse->nMem = iVar9;
                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;
                      if ((onError == 0xb) &&
                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {
                        bReplace = 1;
                      }
                      goto LAB_0010dabc;
                    }
                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);
                }
LAB_0010dac8:
                iVar9 = 0;
                pcStack_98[iVar7 + 1] = (code)0x0;
              }
              else {
                iVar9 = pParse->nMem + 1;
                pParse->nMem = iVar9;
                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;
LAB_0010dabc:
                if (iVar9 == 0) goto LAB_0010dac8;
              }
              *(int *)pcVar27 = iVar9;
              iVar7 = iVar7 + 1;
              pTVar35 = (Table *)pTVar35->zColAff;
              pcVar27 = pcVar27 + 4;
            } while (pTVar35 != (Table *)0x0);
          }
          if (bReplace == 0) goto LAB_0010dcb0;
        }
        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));
LAB_0010dcb0:
        unaff_s7 = (Parse *)pParse->pVdbe;
        if ((unaff_s7 == (Parse *)0x0) &&
           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,
           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))
        goto LAB_0010d60c;
        if (pParse->nested == '\0') {
          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4
          ;
        }
        (*(code *)(PTR_LAB_00190bbc + 0x6508))
                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);
        if (unaff_s1->nModuleArg != 0) {
          iStack_94 = 0;
          pcStack_8c = (code *)0x0;
          pcStack_cc = (code *)0x0;
          pcStack_e4 = (code *)0x0;
          goto LAB_0010dd68;
        }
        iVar7 = pParse->nMem;
        pcStack_e4 = (code *)(iVar7 + 2);
        iStack_ac = iVar7 + 1;
        pParse->nMem = (int)pcStack_e4;
        if (pcStack_a8 == (code *)0x0) {
          if (pTStack_d0 != (Trigger *)0x0) {
            iStack_94 = iVar7 + 3;
            pcVar27 = pcStack_e4 + unaff_s1->nCol;
            goto LAB_0010dd48;
          }
          pcVar13 = pcStack_d8;
          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;
          iStack_94 = iVar7 + 3;
          pcVar27 = pcStack_e4 + unaff_s1->nCol;
          pParse->nMem = (int)pcVar27;
          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;
        }
        else {
          iStack_94 = iVar7 + 3;
          pcVar27 = pcStack_e4 + unaff_s1->nCol;
          pParse->nMem = (int)pcVar27;
          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;
          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;
          pcStack_cc = pcStack_e4;
          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;
        }
        iStack_94 = iVar7 + 3;
        pcVar27 = (code *)pParse->nMem;
        goto LAB_0010dd48;
      }
    }
  }
  unaff_s0 = pParse;
  if (sContext.pParse != (Parse *)0x0) {
    (sContext.pParse)->zAuthContext = sContext.zAuthContext;
    sContext.pParse = (Parse *)0x0;
  }
LAB_0010d4a8:
  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);
  pParse = unaff_s0;
  if (pChanges != (ExprList *)0x0) goto LAB_0010d64c;
  do {
    if ((Select *)pWhere != (Select *)0x0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);
    }
    if (pEStack_f8 != (Expr *)0x0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);
    }
    if (pEStack_f4 != (Expr *)0x0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);
    }
    if (iVar17 == *(int *)puVar5) {
      return;
    }
    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();
LAB_0010ef6c:
    pcVar27 = pcStack_e4;
    if (pcVar13 == (code *)0x0) {
      iStack_94 = 0;
      pcStack_cc = pcStack_e4;
    }
    else {
      iStack_94 = 0;
LAB_0010dd48:
      pcVar27 = pcVar27 + 1;
      pParse->nMem = (int)pcVar27;
      pcStack_cc = pcVar27;
    }
LAB_0010dd54:
    pcStack_8c = pcVar27 + 1;
    pParse->nMem = (int)(pcVar27 + unaff_s1->nCol);
LAB_0010dd68:
    if (pSStack_bc != (Select *)0x0) {
      sContext.zAuthContext = pParse->zAuthContext;
      pParse->zAuthContext = unaff_s1->zName;
      sContext.pParse = pParse;
      sqlite3MaterializeView
                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,
                 (int)pEStack_f4,(Table *)unaff_s8);
      pEStack_f4 = (Expr *)0x0;
      pEStack_f8 = (Expr *)0x0;
    }
    iVar7 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere);
    puVar4 = PTR_LAB_00190bc0;
    pPVar15 = pParse;
    pTVar31 = unaff_s1;
    pTVar35 = unaff_s5;
    pWVar38 = unaff_s8;
    if (iVar7 == 0) {
      if (unaff_s1->nModuleArg == 0) {
        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);
        pParse->nLabel = (int)pWVar8;
        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||
           (pParse->nested != '\0')) {
          if ((unaff_s1->tabFlags & 0x20) == 0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);
            if (pUStack_e8 == (Upsert *)0x0) {
              iStack_9c = 0;
              goto LAB_0010efcc;
            }
            pcStack_dc = (code *)0x0;
            pcVar27 = (code *)0x0;
            iStack_b4 = 0;
          }
          else {
            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;
            pcVar27 = (code *)(pParse->nMem + 1);
            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);
            pParse->nMem = (int)pcStack_dc;
            if (pUStack_e8 == (Upsert *)0x0) {
              iStack_9c = 0;
              goto LAB_0010e728;
            }
          }
LAB_0010de50:
          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);
          iVar7 = 0;
          iStack_9c = 0;
          iStack_a0 = 0;
          uVar2 = '\x01';
          pWStack_88 = (WhereInfo *)0x0;
LAB_0010de98:
          if ((unaff_s1->tabFlags & 0x20) == 0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);
            iStack_b4 = 0;
LAB_0010df40:
            if (pUStack_e8 == (Upsert *)0x0) {
              if (uVar2 != '\x02') {
                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);
                if (pSStack_bc != (Select *)0x0) {
                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                  goto LAB_0010e700;
                }
                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                goto LAB_0010ea7c;
              }
              if (pSStack_bc == (Select *)0x0) {
                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                goto LAB_0010e5d8;
              }
              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
              iVar7 = pParse->nLabel;
LAB_0010e570:
              pParse->nLabel = iVar7 + -1;
              pWStack_d4 = (WhereInfo *)(iVar7 + -1);
              goto LAB_0010e580;
            }
            iStack_ac = 0;
            pWStack_d4 = pWVar8;
          }
          else {
            if (iStack_b4 < 1) {
LAB_0010df38:
              pcStack_dc = pcVar27;
              if (iVar7 != 0) {
                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);
              }
              goto LAB_0010df40;
            }
LAB_0010deb0:
            iVar9 = 0;
            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
            pcVar13 = pcVar27;
            do {
              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);
              iVar9 = iVar9 + 2;
              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);
              pcVar13 = pcVar13 + 1;
            } while (iStack_b4 << 1 != iVar9);
LAB_0010df30:
            if (uVar2 != '\0') goto LAB_0010df38;
            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
LAB_0010ee9c:
            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);
            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);
            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);
            uVar2 = '\0';
            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;
            iStack_b4 = 0;
            iStack_ac = 0;
            pWStack_d4 = pWVar8;
          }
        }
        else {
          if (pUStack_e8 != (Upsert *)0x0) {
            if ((unaff_s1->tabFlags & 0x20) == 0) {
              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);
              pcVar27 = (code *)0x0;
              iStack_b4 = 0;
              pcStack_dc = (code *)0x0;
            }
            else {
              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;
              pcVar27 = (code *)(pParse->nMem + 1);
              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);
              pParse->nMem = (int)pcStack_dc;
            }
            goto LAB_0010de50;
          }
          iStack_9c = pParse->nMem + 1;
          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
          pParse->nMem = iStack_9c;
          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);
          if ((unaff_s1->tabFlags & 0x20) == 0) {
            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);
LAB_0010efcc:
            pcStack_dc = (code *)0x0;
            pcVar27 = (code *)0x0;
            iVar7 = 0;
            iStack_a0 = 0;
            iStack_b4 = 0;
          }
          else {
            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;
            pcVar27 = (code *)(pParse->nMem + 1);
            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);
            pParse->nMem = (int)pcStack_dc;
LAB_0010e728:
            pcStack_f0 = (code *)(puVar4 + 0x10fc);
            iStack_a0 = pParse->nTab;
            pParse->nTab = iStack_a0 + 1;
            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);
            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);
            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);
          }
          pcStack_f0 = (code *)(puVar4 + 0x10fc);
          wctrlFlags = 0x1004;
          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&
              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&
             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {
            wctrlFlags = 0x100c;
          }
          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,
                                         wctrlFlags,(int)pWStack_c8);
          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;
          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];
          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];
          uVar2 = pWStack_88->eOnePass;
          if (uVar2 == '\x01') goto LAB_0010de98;
          pPVar19 = pParse->pToplevel;
          if (pParse->pToplevel == (Parse *)0x0) {
            pPVar19 = pParse;
          }
          pPVar19->isMultiWrite = '\x01';
          if (uVar2 == '\x02') {
            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||
               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;
            if ((unaff_s1->tabFlags & 0x20) == 0) {
              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);
              goto LAB_0010e8bc;
            }
            uVar2 = '\0';
            if (0 < iStack_b4) goto LAB_0010deb0;
            goto LAB_0010ee9c;
          }
          if ((unaff_s1->tabFlags & 0x20) != 0) {
            if (0 < iStack_b4) goto LAB_0010deb0;
            goto LAB_0010df30;
          }
          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);
          if (uVar2 == '\0') {
LAB_0010e8bc:
            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);
            uVar2 = '\0';
          }
LAB_0010e8dc:
          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);
          if (pSStack_bc == (Select *)0x0) {
            iStack_b4 = 0;
LAB_0010ea7c:
            if (uVar2 == '\0') {
LAB_0010e634:
              pPVar19 = (Parse *)unaff_s1->nModuleArg;
              if (pPVar19 == (Parse *)0x0) {
LAB_0010e640:
                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))
                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);
                pPStack_90 = pPVar19;
                goto LAB_0010e680;
              }
            }
            else {
LAB_0010e5d8:
              if (-1 < aiCurOnePass[0]) {
                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;
              }
              if (-1 < aiCurOnePass[1]) {
                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;
              }
              if ((uVar2 != '\x02') ||
                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;
              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);
              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;
LAB_0010e680:
              if (pPVar19 != (Parse *)0x0) {
                pTVar11 = unaff_s7->aTableLock;
                if ((int)pPVar19 < 0) {
                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);
                }
                if (unaff_s7->db->mallocFailed == '\0') {
                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;
                }
                else {
                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;
                }
              }
            }
            if (uVar2 != '\0') {
              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&
                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {
                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);
              }
              goto LAB_0010e700;
            }
          }
          else {
            iStack_b4 = 0;
            if (uVar2 != '\0') {
LAB_0010e700:
              pWStack_d4 = pWVar8;
              if (uVar2 != '\x01') {
                iVar7 = pParse->nLabel;
                goto LAB_0010e570;
              }
LAB_0010e580:
              pcVar27 = pcStack_e4;
              if (unaff_s5 != (Table *)0x0) {
                pcVar27 = pcStack_dc;
              }
              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);
              iStack_ac = 0;
              goto LAB_0010df54;
            }
          }
          if (unaff_s5 == (Table *)0x0) {
            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);
            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);
            uVar2 = '\0';
            iStack_ac = 0;
          }
          else {
            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);
            pParse->nLabel = (int)pWStack_d4;
            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);
            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);
            uVar2 = '\0';
          }
        }
LAB_0010df54:
        if (pcStack_d8 != (code *)0x0) {
          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);
        }
        if (pcStack_a8 == (code *)0x0) {
          if (psStack_c0 != (sqlite3 *)0x0) {
LAB_0010e4cc:
            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;
            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);
            goto LAB_0010df80;
          }
          if (pTStack_d0 != (Trigger *)0x0) {
LAB_0010df7c:
            uVar28 = 0;
            goto LAB_0010df80;
          }
          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);
        }
        else {
          uVar28 = 0;
          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;
LAB_0010df80:
          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);
          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);
          if (0 < unaff_s1->nCol) {
            uVar30 = 0;
            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            do {
              if (((uVar28 | uVar10) == 0xffffffff) ||
                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||
                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {
                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);
              }
              else {
                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);
              }
              uVar30 = uVar30 + 1;
              pPStack_90 = pParse;
            } while ((int)uVar30 < (int)unaff_s1->nCol);
          }
          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);
          }
        }
        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);
        puVar4 = PTR_LAB_00190c58;
        if (0 < unaff_s1->nCol) {
          uVar28 = 0;
          pcStack_f0 = pcStack_ec;
          pcStack_98 = (code *)PTR_LAB_00190c58;
          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
          do {
            pcVar13 = pcStack_8c + uVar28;
            if ((int)unaff_s1->iPKey == uVar28) {
LAB_0010e30c:
              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);
            }
            else if (*(int *)pcStack_f0 < 0) {
              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&
                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;
              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);
            }
            else {
              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);
            }
            uVar28 = uVar28 + 1;
            pcStack_f0 = pcStack_f0 + 4;
          } while ((int)uVar28 < (int)unaff_s1->nCol);
        }
        if ((tmask & 1U) == 0) {
          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);
        }
        else {
          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);
          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);
          sqlite3CodeRowTrigger
                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,
                     (int)pWStack_d4);
          if (unaff_s5 == (Table *)0x0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);
          }
          else {
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);
          }
          iVar7 = (int)unaff_s1->nCol;
          if (0 < iVar7) {
            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);
            iVar9 = 0;
            pcVar27 = pcStack_ec;
            do {
              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {
                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);
                iVar7 = (int)unaff_s1->nCol;
                pEStack_b8 = pEVar37;
                pcStack_a8 = pcVar27;
              }
              iVar9 = iVar9 + 1;
              pcVar27 = pcVar27 + 4;
            } while (iVar9 < iVar7);
          }
        }
        if (pSStack_bc == (Select *)0x0) {
          sqlite3GenerateConstraintChecks
                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc
                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,
                     (int *)pcStack_ec,(Upsert *)0x0);
          if (psStack_c0 != (sqlite3 *)0x0) {
            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);
          }
          puVar4 = PTR_LAB_00190bc0;
          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {
            sqlite3GenerateRowIndexDelete
                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);
            puVar16 = (undefined1 *)0x0;
            if ((int)psStack_c0 < 2) {
              uVar26 = 0x44;
              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            }
            else {
              uVar26 = 4;
              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            }
          }
          else {
            if (unaff_s5 == (Table *)0x0) {
              puVar16 = (undefined1 *)
                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);
            }
            else {
              puVar16 = (undefined1 *)
                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);
              if (unaff_s7->db->mallocFailed == '\0') {
                pOVar20 = (Op *)unaff_s7->nTableLock;
                pOVar20[(int)puVar16].p4type = -3;
                pOVar20[(int)puVar16].p4.i = iStack_b4;
              }
            }
            pcStack_f0 = (code *)(puVar4 + 0x10fc);
            sqlite3GenerateRowIndexDelete
                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);
            uVar26 = 4;
            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {
              uVar26 = 0x44;
            }
          }
          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);
          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {
            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2
            ;
          }
          if (pParse->nested == '\0') {
            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);
          }
          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {
            if ((int)puVar16 < 0) {
              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);
            }
            if (unaff_s7->db->mallocFailed == '\0') {
              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;
            }
            else {
              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);
            }
            pOVar20->p2 = (int)unaff_s7->aTableLock;
          }
          if (psStack_c0 == (sqlite3 *)0x0) {
            if (uVar2 == '\x02') {
              uVar26 = 6;
            }
            else {
              uVar26 = 4;
            }
            (*(code *)(PTR_LAB_00190bc0 + 0x2940))
                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);
          }
          else {
            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);
            if (uVar2 == '\x02') {
              uVar26 = 6;
            }
            else {
              uVar26 = 4;
            }
            (*(code *)(PTR_LAB_00190bc0 + 0x2940))
                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);
            if ((pParse->db->flags & 0x4000) != 0) {
              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,
                               (int)pcStack_c4);
            }
          }
        }
        if (iStack_9c != 0) {
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);
        }
        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);
        if (uVar2 == '\x01') {
LAB_0010e4b8:
          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);
        }
        else if (uVar2 == '\x02') {
          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);
          (*(code *)pTVar31)(unaff_s7,pWStack_d4);
          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);
        }
        else {
          if (unaff_s5 == (Table *)0x0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);
            goto LAB_0010e4b8;
          }
          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);
          (*(code *)pTVar31)(unaff_s7,pWStack_d4);
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);
        }
        (*(code *)pTVar31)(unaff_s7,pWVar8);
        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&
            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {
          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);
        }
        pWVar38 = (WhereInfo *)&SUB_00000002;
        if (iStack_9c != 0) {
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);
          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);
          if (unaff_s7->db->mallocFailed == '\0') {
            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))
                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);
          }
        }
      }
      else {
        unaff_s7 = (Parse *)pParse->pVdbe;
        for (pTVar35 = (Table *)unaff_s1->pVTable;
            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));
            pTVar35 = (Table *)pTVar35->pCheck) {
        }
        pUStack_e8 = (Upsert *)pParse->nTab;
        pcVar13 = (code *)(unaff_s1->nCol + 2);
        pcStack_e4 = (code *)pTabList->a[0].iCursor;
        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);
        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);
        pWVar38 = (WhereInfo *)pParse->nMem;
        pcVar27 = pcVar13 + (int)pWVar38;
        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);
        pTStack_d0 = (Trigger *)(pcVar27 + 2);
        pParse->nMem = (int)pTStack_d0;
        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);
        pWStack_c8 = (WhereInfo *)0x0;
        if (pWStack_d4 != (WhereInfo *)0x0) {
          if (0 < unaff_s1->nCol) {
            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);
            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);
            iVar7 = 0;
            pcVar34 = pcStack_ec;
            do {
              if (*(int *)pcVar34 < 0) {
                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,
                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);
                if (0 < (int)unaff_s7->aTableLock) {
                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].
                  p5 = 1;
                }
              }
              else {
                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);
              }
              iVar7 = iVar7 + 1;
              pcVar34 = pcVar34 + 4;
              psStack_c0 = psVar32;
              pSStack_bc = (Select *)pWhere;
            } while (iVar7 < unaff_s1->nCol);
          }
          if ((unaff_s1->tabFlags & 0x20) == 0) {
            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);
            if (pEStack_b8 == (Expr *)0x0) {
              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);
            }
            else {
              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);
            }
          }
          else {
            pIVar14 = unaff_s1->pIndex;
            if (pIVar14 == (Index *)0x0) {
LAB_0010f910:
                    /* WARNING: Does not return */
              pcVar27 = (code *)trap(0);
              (*pcVar27)();
            }
            bVar3 = pIVar14->field_0x37;
            while ((bVar3 & 0xc0) != 0x80) {
              pIVar14 = pIVar14->pNext;
              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;
              bVar3 = pIVar14->field_0x37;
            }
            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;
            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);
            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,
                       (undefined1 *)((int)&pWVar38->pParse + 2),0);
          }
          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];
          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];
          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;
          if (pWVar38 == (WhereInfo *)0x0) {
            pPVar15 = pParse->pToplevel;
            if (pParse->pToplevel == (Parse *)0x0) {
              pPVar15 = pParse;
            }
            pcStack_e4 = pcVar27 + 1;
            pPVar15->isMultiWrite = '\x01';
            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);
            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);
            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);
            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);
            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);
            pcVar27 = (code *)0x0;
            if (0 < (int)pcVar13) {
              do {
                pcStack_e4 = pcVar27 + 1;
                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);
                pcVar27 = pcStack_e4;
              } while (pcVar13 != pcStack_e4);
            }
          }
          else {
            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);
            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);
          }
          pPVar15 = pPStack_e0;
          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);
          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);
          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);
          if (onError == 0xb) {
            onError = 2;
          }
          if (0 < (int)unaff_s7->aTableLock) {
            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =
                 (u16)onError;
          }
          if (pParse->pToplevel != (Parse *)0x0) {
            pParse = pParse->pToplevel;
          }
          pParse->mayAbort = '\x01';
          if (pWVar38 == (WhereInfo *)0x0) {
            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);
            if ((int)pPStack_e0 < 0) {
              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);
            }
            if (unaff_s7->db->mallocFailed == '\0') {
              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;
            }
            else {
              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);
            }
            pOVar20->p2 = (int)unaff_s7->aTableLock;
            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);
          }
          else {
            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);
            pPVar15 = pParse;
          }
        }
      }
    }
LAB_0010d60c:
    pPVar19 = sContext.pParse;
    if (sContext.pParse != (Parse *)0x0) {
      sContext.pParse = (Parse *)0x0;
      pPVar19->zAuthContext = sContext.zAuthContext;
    }
    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(psVar32,pcStack_ec);
    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);
    pParse = pPVar15;
    unaff_s1 = pTVar31;
    unaff_s5 = pTVar35;
    unaff_s8 = pWVar38;
LAB_0010d64c:
    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges);
  } while( true );
}



/* WARNING: Type propagation algorithm not settling */

void FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,
                 int param_7,int ******param_8)

{
  byte *pbVar1;
  code cVar2;
  char cVar3;
  byte bVar4;
  undefined *puVar5;
  undefined *puVar6;
  int iVar7;
  int iVar8;
  int ******ppppppiVar9;
  int iVar10;
  uint uVar11;
  undefined4 uVar12;
  code *pcVar13;
  int *******pppppppiVar14;
  byte *pbVar15;
  int *******pppppppiVar16;
  byte *pbVar17;
  undefined4 *puVar18;
  short *psVar19;
  code *pcVar20;
  undefined4 uVar21;
  int ******ppppppiVar22;
  uint uVar23;
  byte *pbVar24;
  int *******unaff_s0;
  uint uVar25;
  code *unaff_s1;
  int ******ppppppiVar26;
  uint *puVar27;
  code *pcVar28;
  code *unaff_s5;
  code *pcVar29;
  int *******unaff_s7;
  int ******unaff_s8;
  int ******ppppppiVar30;
  int local_f8;
  int local_f4;
  code *local_f0;
  code *local_ec;
  int ******local_e8;
  int ******local_e4;
  int *******local_e0;
  int ******local_dc;
  code *local_d8;
  int ******local_d4;
  int ******local_d0;
  int ******local_cc;
  int ******local_c8;
  code *local_c4;
  int ******local_c0;
  int local_bc;
  code *local_b8;
  int *****local_b4;
  int local_ac;
  code *local_a8;
  code *local_a4;
  int ******local_a0;
  int ******local_9c;
  code *local_98;
  int local_94;
  int *******local_90;
  code *local_8c;
  int local_88;
  uint local_64;
  int local_60;
  int ******local_5c;
  int *******local_58;
  int *******local_54;
  int local_50;
  int ******local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  int ******local_34;
  int ******local_30;
  int local_2c;
  
  puVar6 = PTR___stack_chk_guard_00190e24;
  local_f8 = param_6;
  ppppppiVar26 = *param_1;
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  local_f4 = param_7;
  local_60 = 0;
  local_5c = (int ******)0x0;
  local_58 = (int *******)0x0;
  local_e8 = param_8;
  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))
  goto LAB_0010d4a8;
  unaff_s1 = (code *)FUN_00109b30();
  if (unaff_s1 != (code *)0x0) {
    if (*(int *)(unaff_s1 + 0x48) == 0) {
      local_b4 = (int *****)0xfff0bdc0;
    }
    else {
      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);
    }
    local_d0 = (int ******)
               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);
    local_bc = *(int *)(unaff_s1 + 0xc);
    if (local_bc == 0) {
      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))
                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);
      local_f4 = 0;
      local_f8 = 0;
    }
    iVar8 = FUN_000f89f8(param_1,unaff_s1);
    if ((iVar8 == 0) &&
       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0
       )) {
      local_d4 = param_1[10];
      local_c8 = (int ******)((int)local_d4 + 1);
      param_1[10] = local_c8;
      pcVar13 = *(code **)(unaff_s1 + 8);
      unaff_s8 = local_d4;
      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
        unaff_s5 = (code *)0x0;
        if (pcVar13 != (code *)0x0) goto LAB_0010d700;
        local_90 = (int *******)0x0;
      }
      else if (pcVar13 == (code *)0x0) {
        unaff_s5 = (code *)0x0;
        local_90 = (int *******)0x0;
      }
      else {
        cVar2 = pcVar13[0x37];
        unaff_s5 = pcVar13;
        while ((((byte)cVar2 & 0xc0) != 0x80 &&
               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {
          cVar2 = unaff_s5[0x37];
        }
LAB_0010d700:
        ppppppiVar30 = local_c8;
        do {
          if (unaff_s5 == pcVar13) {
            unaff_s8 = ppppppiVar30;
          }
          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);
          param_1[10] = ppppppiVar30;
          pcVar13 = *(code **)(pcVar13 + 0x14);
          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);
        } while (pcVar13 != (code *)0x0);
      }
      if (param_8 != (int ******)0x0) {
        unaff_s8 = (int ******)param_8[7];
        local_c8 = (int ******)param_8[8];
        param_1[10] = local_d4;
      }
      *(int *******)(param_2 + 0x30) = unaff_s8;
      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);
      unaff_s7 = local_90;
      if ((local_a8 == (code *)0x0) &&
         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),
         local_ec != (code *)0x0)) {
        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;
        local_98 = local_a4 + (int)local_90 * 4;
        (*(code *)PTR_memset_00190d58)(local_98,1);
        (local_98 + (int)local_90)[1] = (code)0x0;
        if (0 < *(short *)(unaff_s1 + 0x2a)) {
          iVar8 = 0;
          pcVar13 = local_ec;
          do {
            *(undefined4 *)pcVar13 = 0xffffffff;
            iVar8 = iVar8 + 1;
            pcVar13 = pcVar13 + 4;
          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));
        }
        local_48 = 0;
        local_44 = 0;
        local_4c = param_8;
        local_40 = 0;
        local_38 = 0;
        local_3c = 0x2000000;
        local_54 = param_1;
        local_50 = param_2;
        if (*param_3 < 1) {
          local_d8 = (code *)0x0;
          local_b8 = (code *)0x0;
        }
        else {
          puVar27 = (uint *)(param_3 + 1);
          pppppppiVar14 = (int *******)&local_54;
          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);
          ppppppiVar30 = (int ******)0x0;
          local_d8 = (code *)0x0;
          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);
          local_b8 = (code *)0x0;
          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);
          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);
          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);
          do {
            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);
            pcVar29 = unaff_s1;
            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;
            pbVar24 = (byte *)puVar27[1];
            if (0 < *(short *)(unaff_s1 + 0x2a)) {
              puVar18 = *(undefined4 **)(unaff_s1 + 4);
              do {
                pbVar15 = (byte *)*puVar18;
                uVar23 = (uint)*pbVar15;
                pbVar17 = pbVar24;
                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))
                {
                  do {
                    if (uVar23 == 0) {
                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {
                        local_b8 = (code *)*puVar27;
                        local_d8 = (code *)0x1;
                      }
                      else if ((unaff_s5 != (code *)0x0) &&
                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {
                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);
                      }
                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;
                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {
                        pbVar24 = (byte *)puVar27[1];
                        goto LAB_0010d954;
                      }
                      iVar8 = *(int *)unaff_s1;
                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);
                      goto LAB_0010d98c;
                    }
                    pbVar15 = pbVar15 + 1;
                    pbVar1 = pbVar17 + 1;
                    uVar23 = (uint)*pbVar15;
                    pbVar17 = pbVar17 + 1;
                  } while (*(char *)((int)unaff_s7 + uVar23) ==
                           *(char *)((int)unaff_s7 + (uint)*pbVar1));
                }
                pcVar20 = pcVar20 + 1;
                puVar18 = puVar18 + 4;
              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);
            }
LAB_0010d954:
            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {
              (*(code *)(PTR_LAB_00190bdc + 0x5160))
                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);
              *(undefined1 *)((int)param_1 + 0x11) = 1;
              pppppppiVar14 = param_1;
              goto LAB_0010d60c;
            }
            local_b8 = (code *)*puVar27;
            pcVar20 = (code *)0xffffffff;
            iVar8 = *(int *)unaff_s1;
            local_d8 = (code *)0x1;
            ppppppiVar9 = local_c0;
LAB_0010d98c:
            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);
            if (iVar8 == 1) goto LAB_0010d60c;
            if (iVar8 == 2) {
              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;
            }
            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);
            puVar27 = puVar27 + 5;
          } while ((int)ppppppiVar30 < *param_3);
        }
        iVar8 = *(int *)(unaff_s1 + 0x38);
        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);
        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);
        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);
        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);
        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);
        if (param_5 == 5) {
          pcVar13 = *(code **)(unaff_s1 + 8);
          local_60 = 1;
          if (pcVar13 != (code *)0x0) goto LAB_0010da68;
        }
        else {
          pcVar13 = *(code **)(unaff_s1 + 8);
          if (pcVar13 != (code *)0x0) {
LAB_0010da68:
            local_e4 = (int ******)(uint)((int)local_c0 < 2);
            iVar8 = 0;
            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);
            pcVar29 = local_a4;
            do {
              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&
                  (pcVar13 != unaff_s5)) &&
                 ((*(int *)(pcVar13 + 0x24) == 0 ||
                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))
              {
                iVar10 = 0;
                if (*(short *)(pcVar13 + 0x32) != 0) {
                  do {
                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);
                    if (iVar7 < 0) {
                      uVar23 = (*pcVar20)(*(undefined4 *)
                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,
                                          local_d8);
                    }
                    else {
                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;
                    }
                    iVar10 = iVar10 + 1;
                    if (uVar23 != 0) {
                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);
                      param_1[0xb] = ppppppiVar30;
                      param_1[0xb] = (int ******)
                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);
                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {
                        local_60 = 1;
                      }
                      goto LAB_0010dabc;
                    }
                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));
                }
LAB_0010dac8:
                ppppppiVar30 = (int ******)0x0;
                local_98[iVar8 + 1] = (code)0x0;
              }
              else {
                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);
                param_1[0xb] = ppppppiVar30;
                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);
LAB_0010dabc:
                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;
              }
              *(int *******)pcVar29 = ppppppiVar30;
              iVar8 = iVar8 + 1;
              pcVar13 = *(code **)(pcVar13 + 0x14);
              pcVar29 = pcVar29 + 4;
            } while (pcVar13 != (code *)0x0);
          }
          if (local_60 == 0) goto LAB_0010dcb0;
        }
        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);
LAB_0010dcb0:
        unaff_s7 = (int *******)param_1[2];
        if ((unaff_s7 == (int *******)0x0) &&
           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),
           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,
           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;
        if (*(char *)((int)param_1 + 0x12) == '\0') {
          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;
        }
        (*(code *)(PTR_LAB_00190bbc + 0x6508))
                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);
        if (*(int *)(unaff_s1 + 0x38) != 0) {
          local_94 = 0;
          local_8c = (code *)0x0;
          local_cc = (int ******)0x0;
          local_e4 = (int ******)0x0;
          goto LAB_0010dd68;
        }
        ppppppiVar30 = param_1[0xb];
        local_e4 = (int ******)((int)ppppppiVar30 + 2);
        local_ac = (int)ppppppiVar30 + 1;
        param_1[0xb] = local_e4;
        if (local_a8 == (code *)0x0) {
          if (local_d0 != (int ******)0x0) {
            local_94 = (int)ppppppiVar30 + 3;
            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));
            goto LAB_0010dd48;
          }
          pcVar13 = local_d8;
          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;
          local_94 = (int)ppppppiVar30 + 3;
          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));
          param_1[0xb] = ppppppiVar9;
          if (local_d8 != (code *)0x0) goto LAB_0010dd48;
        }
        else {
          local_94 = (int)ppppppiVar30 + 3;
          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));
          param_1[0xb] = ppppppiVar9;
          if (local_c4 != (code *)0x0) goto LAB_0010dd48;
          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;
          local_cc = local_e4;
          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;
        }
        local_94 = (int)ppppppiVar30 + 3;
        ppppppiVar9 = param_1[0xb];
        goto LAB_0010dd48;
      }
    }
  }
  unaff_s0 = param_1;
  if (local_58 != (int *******)0x0) {
    local_58[0x3b] = local_5c;
    local_58 = (int *******)0x0;
  }
LAB_0010d4a8:
  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);
  param_1 = unaff_s0;
  if (param_3 != (int *)0x0) goto LAB_0010d64c;
  do {
    if (param_4 != 0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);
    }
    if (local_f8 != 0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);
    }
    if (local_f4 != 0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);
    }
    if (local_2c == *(int *)puVar6) {
      return;
    }
    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();
LAB_0010ef6c:
    ppppppiVar9 = local_e4;
    if (pcVar13 == (code *)0x0) {
      local_94 = 0;
      local_cc = local_e4;
    }
    else {
      local_94 = 0;
LAB_0010dd48:
      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);
      param_1[0xb] = ppppppiVar9;
      local_cc = ppppppiVar9;
    }
LAB_0010dd54:
    local_8c = (code *)((int)ppppppiVar9 + 1);
    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));
LAB_0010dd68:
    if (local_bc != 0) {
      local_5c = param_1[0x3b];
      param_1[0x3b] = *(int *******)unaff_s1;
      local_58 = param_1;
      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);
      local_f4 = 0;
      local_f8 = 0;
    }
    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);
    puVar5 = PTR_LAB_00190bc0;
    pppppppiVar14 = param_1;
    pcVar20 = unaff_s1;
    pcVar29 = unaff_s5;
    ppppppiVar30 = unaff_s8;
    if (iVar8 == 0) {
      if (*(int *)(unaff_s1 + 0x38) == 0) {
        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);
        param_1[0xe] = ppppppiVar9;
        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||
           (*(char *)((int)param_1 + 0x12) != '\0')) {
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);
            if (local_e8 == (int ******)0x0) {
              local_9c = (int ******)0x0;
              goto LAB_0010efcc;
            }
            local_dc = (int ******)0x0;
            ppppppiVar22 = (int ******)0x0;
            local_b4 = (int *****)0x0;
          }
          else {
            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);
            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);
            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);
            param_1[0xb] = local_dc;
            if (local_e8 == (int ******)0x0) {
              local_9c = (int ******)0x0;
              goto LAB_0010e728;
            }
          }
LAB_0010de50:
          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);
          iVar8 = 0;
          local_9c = (int ******)0x0;
          local_a0 = (int ******)0x0;
          cVar3 = '\x01';
          local_88 = 0;
LAB_0010de98:
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);
            local_b4 = (int *****)0x0;
LAB_0010df40:
            if (local_e8 == (int ******)0x0) {
              if (cVar3 != '\x02') {
                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);
                if (local_bc != 0) {
                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                  goto LAB_0010e700;
                }
                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                goto LAB_0010ea7c;
              }
              if (local_bc == 0) {
                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                goto LAB_0010e5d8;
              }
              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
              ppppppiVar30 = param_1[0xe];
LAB_0010e570:
              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);
              local_d4 = (int ******)((int)ppppppiVar30 - 1U);
              goto LAB_0010e580;
            }
            local_ac = 0;
            local_d4 = ppppppiVar9;
          }
          else {
            if ((int)local_b4 < 1) {
LAB_0010df38:
              local_dc = ppppppiVar22;
              if (iVar8 != 0) {
                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);
              }
              goto LAB_0010df40;
            }
LAB_0010deb0:
            iVar10 = 0;
            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
            ppppppiVar30 = ppppppiVar22;
            do {
              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);
              iVar10 = iVar10 + 2;
              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);
              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);
            } while ((int)local_b4 << 1 != iVar10);
LAB_0010df30:
            if (cVar3 != '\0') goto LAB_0010df38;
            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
LAB_0010ee9c:
            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);
            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);
            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);
            cVar3 = '\0';
            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;
            local_b4 = (int *****)0x0;
            local_ac = 0;
            local_d4 = ppppppiVar9;
          }
        }
        else {
          if (local_e8 != (int ******)0x0) {
            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);
              ppppppiVar22 = (int ******)0x0;
              local_b4 = (int *****)0x0;
              local_dc = (int ******)0x0;
            }
            else {
              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);
              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);
              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);
              param_1[0xb] = local_dc;
            }
            goto LAB_0010de50;
          }
          local_9c = (int ******)((int)param_1[0xb] + 1);
          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
          param_1[0xb] = local_9c;
          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);
LAB_0010efcc:
            local_dc = (int ******)0x0;
            ppppppiVar22 = (int ******)0x0;
            iVar8 = 0;
            local_a0 = (int ******)0x0;
            local_b4 = (int *****)0x0;
          }
          else {
            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);
            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);
            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);
            param_1[0xb] = local_dc;
LAB_0010e728:
            local_f0 = (code *)(puVar5 + 0x10fc);
            local_a0 = param_1[10];
            param_1[10] = (int ******)((int)local_a0 + 1);
            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,
                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));
            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);
            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);
          }
          local_f0 = (code *)(puVar5 + 0x10fc);
          uVar21 = 0x1004;
          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&
              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&
             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {
            uVar21 = 0x100c;
          }
          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);
          if (local_88 == 0) goto LAB_0010d60c;
          local_34 = *(int *******)(local_88 + 0x18);
          local_30 = *(int *******)(local_88 + 0x1c);
          cVar3 = *(char *)(local_88 + 0x31);
          if (cVar3 == '\x01') goto LAB_0010de98;
          pppppppiVar16 = (int *******)param_1[0x1d];
          if ((int *******)param_1[0x1d] == (int *******)0x0) {
            pppppppiVar16 = param_1;
          }
          *(undefined1 *)(pppppppiVar16 + 5) = 1;
          if (cVar3 == '\x02') {
            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||
               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;
            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);
              goto LAB_0010e8bc;
            }
            cVar3 = '\0';
            if (0 < (int)local_b4) goto LAB_0010deb0;
            goto LAB_0010ee9c;
          }
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {
            if (0 < (int)local_b4) goto LAB_0010deb0;
            goto LAB_0010df30;
          }
          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);
          if (cVar3 == '\0') {
LAB_0010e8bc:
            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);
            cVar3 = '\0';
          }
LAB_0010e8dc:
          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);
          if (local_bc == 0) {
            local_b4 = (int *****)0x0;
LAB_0010ea7c:
            if (cVar3 == '\0') {
LAB_0010e634:
              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);
              if (pppppppiVar16 == (int *******)0x0) {
LAB_0010e640:
                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))
                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);
                local_90 = pppppppiVar16;
                goto LAB_0010e680;
              }
            }
            else {
LAB_0010e5d8:
              if (-1 < (int)local_34) {
                local_98[(int)local_34 - (int)local_d4] = (code)0x0;
              }
              if (-1 < (int)local_30) {
                local_98[(int)local_30 - (int)local_d4] = (code)0x0;
              }
              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))
              goto LAB_0010e634;
              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);
              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;
LAB_0010e680:
              if (pppppppiVar16 != (int *******)0x0) {
                ppppppiVar30 = unaff_s7[0x1b];
                if ((int)pppppppiVar16 < 0) {
                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);
                }
                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;
                }
                else {
                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;
                }
              }
            }
            if (cVar3 != '\0') {
              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {
                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);
              }
              goto LAB_0010e700;
            }
          }
          else {
            local_b4 = (int *****)0x0;
            if (cVar3 != '\0') {
LAB_0010e700:
              local_d4 = ppppppiVar9;
              if (cVar3 != '\x01') {
                ppppppiVar30 = param_1[0xe];
                goto LAB_0010e570;
              }
LAB_0010e580:
              ppppppiVar30 = local_e4;
              if (unaff_s5 != (code *)0x0) {
                ppppppiVar30 = local_dc;
              }
              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);
              local_ac = 0;
              goto LAB_0010df54;
            }
          }
          if (unaff_s5 == (code *)0x0) {
            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);
            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);
            cVar3 = '\0';
            local_ac = 0;
          }
          else {
            local_d4 = (int ******)((int)param_1[0xe] - 1);
            param_1[0xe] = local_d4;
            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);
            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);
            cVar3 = '\0';
          }
        }
LAB_0010df54:
        if (local_d8 != (code *)0x0) {
          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);
        }
        if (local_a8 == (code *)0x0) {
          if (local_c0 != (int ******)0x0) {
LAB_0010e4cc:
            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;
            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);
            goto LAB_0010df80;
          }
          if (local_d0 != (int ******)0x0) {
LAB_0010df7c:
            uVar23 = 0;
            goto LAB_0010df80;
          }
          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);
        }
        else {
          uVar23 = 0;
          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;
LAB_0010df80:
          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);
          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);
          if (0 < *(short *)(unaff_s1 + 0x2a)) {
            uVar25 = 0;
            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            do {
              if (((uVar23 | uVar11) == 0xffffffff) ||
                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||
                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {
                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);
              }
              else {
                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);
              }
              uVar25 = uVar25 + 1;
              local_90 = param_1;
            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));
          }
          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);
          }
        }
        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);
        puVar5 = PTR_LAB_00190c58;
        if (0 < *(short *)(unaff_s1 + 0x2a)) {
          uVar23 = 0;
          local_f0 = local_ec;
          local_98 = (code *)PTR_LAB_00190c58;
          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
          do {
            pcVar20 = local_8c + uVar23;
            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {
LAB_0010e30c:
              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);
            }
            else if (*(int *)local_f0 < 0) {
              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&
                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;
              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);
            }
            else {
              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);
            }
            uVar23 = uVar23 + 1;
            local_f0 = local_f0 + 4;
          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));
        }
        if ((local_64 & 1) == 0) {
          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);
        }
        else {
          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);
          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);
          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);
          if (unaff_s5 == (code *)0x0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);
          }
          else {
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);
          }
          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);
          if (0 < iVar8) {
            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
            iVar10 = 0;
            pcVar13 = local_ec;
            do {
              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {
                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);
                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);
                local_b8 = pcVar20;
                local_a8 = pcVar13;
              }
              iVar10 = iVar10 + 1;
              pcVar13 = pcVar13 + 4;
            } while (iVar10 < iVar8);
          }
        }
        if (local_bc == 0) {
          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,
                       param_5 & 0xff,local_d4,&local_60,local_ec,0);
          if (local_c0 != (int ******)0x0) {
            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);
          }
          puVar5 = PTR_LAB_00190bc0;
          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {
            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);
            iVar8 = 0;
            if ((int)local_c0 < 2) {
              uVar21 = 0x44;
              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            }
            else {
              uVar21 = 4;
              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            }
          }
          else {
            if (unaff_s5 == (code *)0x0) {
              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);
            }
            else {
              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);
              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
                ppppppiVar30 = unaff_s7[0x1a];
                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;
                ppppppiVar30[iVar8 * 6 + 4] = local_b4;
              }
            }
            local_f0 = (code *)(puVar5 + 0x10fc);
            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);
            uVar21 = 4;
            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {
              uVar21 = 0x44;
            }
          }
          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);
          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {
            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;
          }
          if (*(char *)((int)param_1 + 0x12) == '\0') {
            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);
          }
          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {
            if (iVar8 < 0) {
              iVar8 = (int)unaff_s7[0x1b] + -1;
            }
            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;
            }
            else {
              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);
            }
            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];
          }
          if (local_c0 == (int ******)0x0) {
            if (cVar3 == '\x02') {
              uVar21 = 6;
            }
            else {
              uVar21 = 4;
            }
            (*(code *)(PTR_LAB_00190bc0 + 0x2940))
                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);
          }
          else {
            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);
            if (cVar3 == '\x02') {
              uVar21 = 6;
            }
            else {
              uVar21 = 4;
            }
            (*(code *)(PTR_LAB_00190bc0 + 0x2940))
                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);
            if (((uint)(*param_1)[9] & 0x4000) != 0) {
              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);
            }
          }
        }
        if (local_9c != (int ******)0x0) {
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);
        }
        ppppppiVar30 = (int ******)0x2;
        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);
        if (cVar3 == '\x01') {
LAB_0010e4b8:
          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);
        }
        else if (cVar3 == '\x02') {
          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);
          (*pcVar20)(unaff_s7,local_d4);
          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);
        }
        else {
          if (unaff_s5 == (code *)0x0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);
            goto LAB_0010e4b8;
          }
          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);
          (*pcVar20)(unaff_s7,local_d4);
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);
        }
        (*pcVar20)(unaff_s7,ppppppiVar9);
        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&
            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {
          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);
        }
        if (local_9c != (int ******)0x0) {
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);
          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);
          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))
                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);
          }
        }
      }
      else {
        unaff_s7 = (int *******)param_1[2];
        for (pcVar29 = *(code **)(unaff_s1 + 0x40);
            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));
            pcVar29 = *(code **)(pcVar29 + 0x18)) {
        }
        local_e8 = param_1[10];
        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);
        local_e4 = *(int *******)(param_2 + 0x30);
        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
        param_1[10] = (int ******)((int)local_e8 + 1);
        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);
        ppppppiVar22 = param_1[0xb];
        local_d8 = (code *)((int)ppppppiVar22 + 1);
        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);
        param_1[0xb] = local_d0;
        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);
        local_c8 = (int ******)0x0;
        ppppppiVar30 = ppppppiVar22;
        if (local_d4 != (int ******)0x0) {
          if (0 < *(short *)(unaff_s1 + 0x2a)) {
            local_c8 = (int ******)((int)ppppppiVar22 + 3);
            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);
            iVar8 = 0;
            pcVar28 = local_ec;
            do {
              if (*(int *)pcVar28 < 0) {
                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);
                if (0 < (int)unaff_s7[0x1b]) {
                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;
                }
              }
              else {
                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);
              }
              iVar8 = iVar8 + 1;
              pcVar28 = pcVar28 + 4;
              local_c0 = ppppppiVar26;
              local_bc = param_4;
            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));
          }
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);
            if (local_b8 == (code *)0x0) {
              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);
            }
            else {
              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);
            }
          }
          else {
            iVar8 = *(int *)(unaff_s1 + 8);
            if (iVar8 == 0) {
LAB_0010f910:
                    /* WARNING: Does not return */
              pcVar13 = (code *)trap(0);
              (*pcVar13)();
            }
            bVar4 = *(byte *)(iVar8 + 0x37);
            while ((bVar4 & 0xc0) != 0x80) {
              iVar8 = *(int *)(iVar8 + 0x14);
              if (iVar8 == 0) goto LAB_0010f910;
              bVar4 = *(byte *)(iVar8 + 0x37);
            }
            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);
            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);
            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)
            ;
          }
          local_34 = (int ******)local_d4[6];
          local_30 = (int ******)local_d4[7];
          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);
          if (ppppppiVar30 == (int ******)0x0) {
            pppppppiVar14 = (int *******)param_1[0x1d];
            if ((int *******)param_1[0x1d] == (int *******)0x0) {
              pppppppiVar14 = param_1;
            }
            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);
            *(undefined1 *)(pppppppiVar14 + 5) = 1;
            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);
            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);
            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);
            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);
            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);
            ppppppiVar22 = (int ******)0x0;
            if (0 < (int)ppppppiVar9) {
              do {
                local_e4 = (int ******)((int)ppppppiVar22 + 1);
                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);
                ppppppiVar22 = local_e4;
              } while (ppppppiVar9 != local_e4);
            }
          }
          else {
            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);
            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);
          }
          pppppppiVar14 = local_e0;
          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);
          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);
          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);
          if (param_5 == 0xb) {
            param_5 = 2;
          }
          if (0 < (int)unaff_s7[0x1b]) {
            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;
          }
          if ((int *******)param_1[0x1d] != (int *******)0x0) {
            param_1 = (int *******)param_1[0x1d];
          }
          *(undefined1 *)((int)param_1 + 0x15) = 1;
          if (ppppppiVar30 == (int ******)0x0) {
            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);
            if ((int)local_e0 < 0) {
              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);
            }
            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;
            }
            else {
              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);
            }
            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];
            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);
          }
          else {
            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);
            pppppppiVar14 = param_1;
          }
        }
      }
    }
LAB_0010d60c:
    pppppppiVar16 = local_58;
    if (local_58 != (int *******)0x0) {
      local_58 = (int *******)0x0;
      pppppppiVar16[0x3b] = local_5c;
    }
    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);
    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);
    param_1 = pppppppiVar14;
    unaff_s1 = pcVar20;
    unaff_s5 = pcVar29;
    unaff_s8 = ppppppiVar30;
LAB_0010d64c:
    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);
  } while( true );
}


lui gp,0x9
addiu gp,gp,-0x4af8
addu gp,gp,t9
addiu sp,sp,-0x140
lw v1,0x154(sp)
sw s6,0x130(sp)
sw s3,0x124(sp)
or s3,a2,zero
sw s4,0x128(sp)
or s4,a3,zero
sw gp,0x38(sp)
sw ra,0x13c(sp)
sw s8,0x138(sp)
sw s7,0x134(sp)
sw s5,0x12c(sp)
sw s2,0x120(sp)
sw s1,0x11c(sp)
sw s0,0x118(sp)
sw v1,0x48(sp)
lw s6,-0x7afc(gp)
lw a2,0x158(sp)
lw v0,0x24(a0)
lw s2,0x0(a0)
lw v1,0x0(s6)
sw a2,0x4c(sp)
sw a1,0x44(sp)
sw v1,0x114(sp)
sw zero,0xe0(sp)
sw zero,0xe4(sp)
sw zero,0xe8(sp)
lw a2,0x15c(sp)
bne v0,zero,0x0010d4a8
_sw a2,0x58(sp)
lbu v0,0x51(s2)
beq v0,zero,0x0010d55c
_lw t9,-0x7d58(gp)
lw t9,-0x7d68(gp)
or a0,s2,zero
addiu t9,t9,-0x210c
jalr t9
_lw a1,0x44(sp)
bne s3,zero,0x0010d64c
_lw gp,0x38(sp)
beq s4,zero,0x0010d4e0
_lw t9,-0x7d68(gp)
or a1,s4,zero
addiu t9,t9,-0x47b0
jalr t9
_or a0,s2,zero
lw gp,0x38(sp)
lw v0,0x48(sp)
beq v0,zero,0x0010d500
_lw t9,-0x7d68(gp)
or a1,v0,zero
addiu t9,t9,-0x4644
jalr t9
_or a0,s2,zero
lw gp,0x38(sp)
lw v0,0x4c(sp)
beq v0,zero,0x0010d520
_lw t9,-0x7d68(gp)
or a1,v0,zero
addiu t9,t9,-0x47b0
jalr t9
_or a0,s2,zero
lw gp,0x38(sp)
lw v1,0x114(sp)
lw v0,0x0(s6)
bne v1,v0,0x0010ef60
_lw ra,0x13c(sp)
lw s8,0x138(sp)
lw s7,0x134(sp)
lw s6,0x130(sp)
lw s5,0x12c(sp)
lw s4,0x128(sp)
lw s3,0x124(sp)
lw s2,0x120(sp)
lw s1,0x11c(sp)
lw s0,0x118(sp)
jr ra
_addiu sp,sp,0x140
addiu t9,t9,-0x64d0
bal 0x00109b30
_or s0,a0,zero
lw gp,0x38(sp)
beq v0,zero,0x0010d5ec
_or s1,v0,zero
lw a1,0x48(v0)
beq a1,zero,0x0010e0b4
_lw a0,0x0(s0)
lw t9,-0x7d7c(gp)
addiu t9,t9,-0x31a4
jalr t9
_nop
lw gp,0x38(sp)
sw v0,0x8c(sp)
lw t9,-0x7d7c(gp)
addiu v0,sp,0xdc
li a2,0x76
sw v0,0x10(sp)
or a3,s3,zero
addiu t9,t9,-0x2620
or a1,s1,zero
jalr t9
_or a0,s0,zero
lw v1,0xc(s1)
lw gp,0x38(sp)
sw v0,0x70(sp)
beq v1,zero,0x0010dc20
_sw v1,0x84(sp)
lw t9,-0x7cc4(gp)
or a1,s1,zero
addiu t9,t9,-0x7608
bal 0x000f89f8
_or a0,s0,zero
beq v0,zero,0x0010d668
_lw gp,0x38(sp)
lw v0,0xe8(sp)
beq v0,zero,0x0010d4a8
_lw v1,0xe4(sp)
sw v1,0xec(v0)
b 0x0010d4a8
_sw zero,0xe8(sp)
lw s4,0x90(sp)
lw v0,0xe8(sp)
beq v0,zero,0x0010d61c
_lw v1,0xe4(sp)
sw zero,0xe8(sp)
sw v1,0xec(v0)
lw t9,-0x7d78(gp)
or a0,s2,zero
addiu t9,t9,-0x2368
jalr t9
_lw a1,0x54(sp)
or a0,s2,zero
lw gp,0x38(sp)
lw t9,-0x7d68(gp)
addiu t9,t9,-0x210c
jalr t9
_lw a1,0x44(sp)
lw gp,0x38(sp)
lw t9,-0x7d68(gp)
or a1,s3,zero
addiu t9,t9,-0x4644
jalr t9
_or a0,s2,zero
b 0x0010d4c4
_lw gp,0x38(sp)
lw t9,-0x7d5c(gp)
or a1,s1,zero
lw a2,0xdc(sp)
addiu t9,t9,-0x73d8
jalr t9
_or a0,s0,zero
lw gp,0x38(sp)
bne v0,zero,0x0010d5ec
_sw v0,0x94(sp)
lw v0,0x28(s0)
sw v0,0x6c(sp)
addiu v0,v0,0x1
sw v0,0x28(s0)
sw v0,0x78(sp)
lw s7,0x24(s1)
andi s7,s7,0x20
beq s7,zero,0x0010d6f4
_lw v1,0x8(s1)
beq v1,zero,0x0010e1a8
_li a0,0x80
lbu v0,0x37(v1)
andi v0,v0,0xc0
beq v0,a0,0x0010e1a0
_li a1,-0x40
b 0x0010d6e0
_or s5,v1,zero
lbu v0,0x37(s5)
and v0,a1,v0
beq v0,a0,0x0010d6fc
_nop
lw s5,0x14(s5)
bne s5,zero,0x0010d6d0
_nop
b 0x0010d700
_lw a0,0x6c(sp)
beq v1,zero,0x0010e0a4
_or s5,zero,zero
lw a0,0x6c(sp)
lw v0,0x78(sp)
or s8,a0,zero
nor a1,zero,a0
xor a0,s5,v1
movz s8,v0,a0
addiu v0,v0,0x1
sw v0,0x28(s0)
lw v1,0x14(v1)
bne v1,zero,0x0010d70c
_addu s7,a1,v0
addiu a3,s7,0x2
sw s7,0xb0(sp)
lw v0,0x58(sp)
beq v0,zero,0x0010d750
_nop
lw s8,0x1c(v0)
lw v0,0x20(v0)
sw v0,0x78(sp)
lw v0,0x6c(sp)
sw v0,0x28(s0)
lw v0,0x44(sp)
sw s8,0x30(v0)
lbu v0,0x51(s2)
bne v0,zero,0x0010d5ec
_sw v0,0x98(sp)
lh v0,0x2a(s1)
or a2,zero,zero
lw v1,0xb0(sp)
or a0,s2,zero
lw t9,-0x7d78(gp)
addu v0,v0,v1
addiu t9,t9,0x854
sll v0,v0,0x2
jalr t9
_addu a3,v0,a3
lw gp,0x38(sp)
beq v0,zero,0x0010d5ec
_sw v0,0x54(sp)
lw a0,0xb0(sp)
sll v1,s7,0x2
lh v0,0x2a(s1)
li a1,0x1
lw t9,-0x7bc8(gp)
addiu a2,a0,0x1
lw a0,0x54(sp)
sll v0,v0,0x2
sw a2,0xa0(sp)
addu v0,a0,v0
sw v0,0x9c(sp)
addu v0,v0,v1
sw v0,0xa8(sp)
jalr t9
_or a0,v0,zero
lw v0,0xa8(sp)
lw gp,0x38(sp)
addu s7,v0,s7
sb zero,0x1(s7)
lh v0,0x2a(s1)
blez v0,0x0010d810
_lw v1,0x54(sp)
or a0,zero,zero
li a1,-0x1
sw a1,0x0(v1)
addiu a0,a0,0x1
lh v0,0x2a(s1)
slt v0,a0,v0
bne v0,zero,0x0010d7f8
_addiu v1,v1,0x4
lw v0,0x44(sp)
lw v1,0x0(s3)
sw zero,0x104(sp)
sw v0,0xf0(sp)
lw v0,0x58(sp)
sw zero,0xf8(sp)
sw zero,0xfc(sp)
sw v0,0xf4(sp)
li v0,0x200
sw zero,0x100(sp)
sw zero,0x108(sp)
sw s0,0xec(sp)
blez v1,0x0010e4fc
_sh v0,0x104(sp)
lw v0,0x8c(sp)
addiu v1,s3,0x4
lw t0,-0x7d8c(gp)
or a0,zero,zero
addiu t2,sp,0xec
sw s8,0xa4(sp)
sll v0,v0,0x4
sw s5,0x74(sp)
addiu s7,t0,-0x3c18
sw s0,0x50(sp)
sw v0,0x60(sp)
or s8,a0,zero
lw v0,-0x7d44(gp)
or s5,s1,zero
sw s4,0x90(sp)
or s0,t2,zero
sw zero,0x68(sp)
or s4,v1,zero
addiu v0,v0,0x6280
sw zero,0x88(sp)
sw v0,0x5c(sp)
lw v0,-0x7d7c(gp)
addiu v0,v0,-0x4b2c
sw v0,0x7c(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x651c
sw v0,0x80(sp)
lw v0,-0x7d44(gp)
addiu v0,v0,0x5b90
sw v0,0x64(sp)
lw a1,0x0(s4)
lw t9,0x5c(sp)
jalr t9
_or a0,s0,zero
lw gp,0x38(sp)
bne v0,zero,0x0010d604
_or s1,v0,zero
lh t2,0x2a(s5)
blez t2,0x0010d954
_lw t4,0x4(s4)
lbu v0,0x0(t4)
lw a3,0x4(s5)
addu v0,s7,v0
lbu t3,0x0(v0)
lw v1,0x0(a3)
lbu v0,0x0(v1)
addu a0,s7,v0
lbu a0,0x0(a0)
bne a0,t3,0x0010d948
_sll t5,s1,0x4
beq v0,zero,0x0010dbb4
_or a0,t4,zero
b 0x0010d928
_addiu v1,v1,0x1
beq a1,zero,0x0010dbb4
_addiu v1,v1,0x1
lbu v0,0x1(a0)
lbu a1,0x0(v1)
addu v0,s7,v0
addu a2,s7,a1
lbu v0,0x0(v0)
lbu a2,0x0(a2)
beq a2,v0,0x0010d920
_addiu a0,a0,0x1
addiu s1,s1,0x1
bne t2,s1,0x0010d8f8
_addiu a3,a3,0x10
lw v0,0x74(sp)
bne v0,zero,0x0010dc64
_lw t9,0x7c(sp)
jalr t9
_or a0,t4,zero
beq v0,zero,0x0010dc64
_lw gp,0x38(sp)
lw v0,0x0(s4)
li s1,-0x1
lw a2,0x0(s5)
lw a3,0x80(sp)
sw v0,0x88(sp)
li v0,0x1
sw v0,0x68(sp)
lw v0,0x10(s2)
li a1,0x17
lw v1,0x60(sp)
lw a0,0x50(sp)
lw t9,0x64(sp)
addu v0,v0,v1
lw v0,0x0(v0)
jalr t9
_sw v0,0x10(sp)
li v1,0x1
beq v0,v1,0x0010d604
_lw gp,0x38(sp)
li v1,0x2
bne v0,v1,0x0010d9d8
_lw v1,0x54(sp)
sll v0,s1,0x2
addu v0,v1,v0
li v1,-0x1
sw v1,0x0(v0)
lw v0,0x0(s3)
addiu s8,s8,0x1
slt v0,s8,v0
bne v0,zero,0x0010d8c0
_addiu s4,s4,0x14
or s1,s5,zero
lw s8,0xa4(sp)
lw s5,0x74(sp)
lw s0,0x50(sp)
lw s4,0x90(sp)
lw a0,0x98(sp)
or a1,s1,zero
lw v1,0x68(sp)
lw v0,0x38(s1)
lw t9,-0x7d7c(gp)
addu v1,v1,a0
lw a2,0x54(sp)
sltu v0,zero,v0
andi a3,v1,0xff
lw v1,0x44(sp)
subu v0,zero,v0
sw a3,0x7c(sp)
addiu t9,t9,-0x3768
sw v0,0x40(v1)
sw v0,0x44(v1)
jalr t9
_lw a0,0x0(s0)
li v1,0x5
lw gp,0x38(sp)
sw v0,0x80(sp)
lw v0,0x150(sp)
beq v0,v1,0x0010e120
_li v0,0x1
lw v1,0x8(s1)
beq v1,zero,0x0010dca8
_lw v0,0xe0(sp)
lw v0,0x80(sp)
or t0,zero,zero
lw s7,0x9c(sp)
sw s2,0x60(sp)
or s2,s0,zero
slti v0,v0,0x2
sw s1,0x64(sp)
sw v0,0x5c(sp)
or s1,s7,zero
lw v0,-0x7d7c(gp)
or s7,v1,zero
or s0,t0,zero
addiu v0,v0,-0x56dc
b 0x0010dae8
_sw v0,0x50(sp)
lw v0,0x2c(s2)
addiu v0,v0,0x1
sw v0,0x2c(s2)
lhu a0,0x34(s7)
addu a0,a0,v0
sw a0,0x2c(s2)
bne v0,zero,0x0010dad4
_nop
lw v0,0xa8(sp)
addu a0,v0,s0
or v0,zero,zero
sb zero,0x1(a0)
sw v0,0x0(s1)
addiu s0,s0,0x1
lw s7,0x14(s7)
beq s7,zero,0x0010dc98
_addiu s1,s1,0x4
lw v0,0x7c(sp)
bne v0,zero,0x0010daa4
_lw v0,0x5c(sp)
beq v0,zero,0x0010daa4
_nop
beq s7,s5,0x0010daa4
_nop
lw a0,0x24(s7)
beq a0,zero,0x0010db24
_lw a2,0x68(sp)
lw t9,0x50(sp)
jalr t9
_lw a1,0x54(sp)
bne v0,zero,0x0010daa4
_lw gp,0x38(sp)
lhu v0,0x32(s7)
bne v0,zero,0x0010db64
_or t1,zero,zero
b 0x0010dac8
_lw v0,0xa8(sp)
sll v0,v0,0x2
addu v0,v1,v0
lw v0,0x0(v0)
nor v0,zero,v0
srl v0,v0,0x1f
bne v0,zero,0x0010e0c4
_addiu t1,t1,0x1
lhu v0,0x32(s7)
slt v0,t1,v0
beq v0,zero,0x0010dac8
_lw v0,0xa8(sp)
lw v0,0x4(s7)
sll v1,t1,0x1
addu v0,v0,v1
lh v0,0x0(v0)
bgez v0,0x0010db38
_lw v1,0x54(sp)
sll v0,t1,0x2
lw v1,0x28(s7)
lw a2,0x68(sp)
addu v0,v0,t1
lw a1,0x54(sp)
lw t9,0x50(sp)
sll v0,v0,0x2
sw t1,0x74(sp)
addu v0,v1,v0
jalr t9
_lw a0,0x4(v0)
lw gp,0x38(sp)
b 0x0010db4c
_lw t1,0x74(sp)
lh v0,0x28(s5)
beq s1,v0,0x0010dc0c
_lw v0,0x74(sp)
beq v0,zero,0x0010dbd8
_lw v1,0x98(sp)
lbu v0,0xf(a3)
andi v0,v0,0x1
movn v1,v0,v0
sw v1,0x98(sp)
lw v1,0x54(sp)
sll v0,s1,0x2
addu v0,v1,v0
sw s8,0x0(v0)
lh v0,0x2a(s5)
slt v0,s1,v0
beq v0,zero,0x0010e508
_nop
lw v0,0x4(s5)
lw a2,0x0(s5)
addu t5,v0,t5
b 0x0010d98c
_lw a3,0x0(t5)
lw v0,0x0(s4)
sw v0,0x88(sp)
li v0,0x1
b 0x0010dbd8
_sw v0,0x68(sp)
lw v0,0x4c(sp)
or a2,s4,zero
lw t9,-0x7d5c(gp)
or a0,s0,zero
lw a3,0x48(sp)
lw a1,0x44(sp)
sw v0,0x10(sp)
addiu t9,t9,-0x36b0
lw v0,-0x7fc8(gp)
addiu v0,v0,0x6b68
jalr t9
_sw v0,0x14(sp)
lw gp,0x38(sp)
or s4,v0,zero
sw zero,0x4c(sp)
b 0x0010d5d0
_sw zero,0x48(sp)
lw a1,-0x7fc4(gp)
or a2,t4,zero
lw t9,-0x7d44(gp)
lw s0,0x50(sp)
addiu a1,a1,-0x4c3c
lw s4,0x90(sp)
addiu t9,t9,0x5160
jalr t9
_or a0,s0,zero
li v0,0x1
lw gp,0x38(sp)
b 0x0010d608
_sb v0,0x11(s0)
or s0,s2,zero
lw s1,0x64(sp)
lw s2,0x60(sp)
lw v0,0xe0(sp)
bne v0,zero,0x0010e130
_lw t9,-0x7bc8(gp)
lw s7,0x8(s0)
beq s7,zero,0x0010e100
_lw t9,-0x7d60(gp)
lbu v0,0x12(s0)
bne v0,zero,0x0010dcdc
_lw v0,0x70(sp)
lbu v0,0x95(s7)
li v1,0x1
ins v0,v1,0x2,0x1
sb v0,0x95(s7)
lw v0,0x70(sp)
beq v0,zero,0x0010e198
_lw v0,0x80(sp)
li a1,0x1
lw t9,-0x7d64(gp)
or a0,s0,zero
addiu t9,t9,0x6508
jalr t9
_lw a2,0x8c(sp)
lw v0,0x38(s1)
bne v0,zero,0x0010e184
_lw gp,0x38(sp)
lw v1,0x2c(s0)
addiu v0,v1,0x2
addiu a0,v1,0x1
sw v0,0x5c(sp)
sw v0,0x2c(s0)
sw a0,0x94(sp)
lw v0,0x98(sp)
bne v0,zero,0x0010e148
_lw v0,0x70(sp)
beq v0,zero,0x0010e510
_lw v0,0x80(sp)
addiu v1,v1,0x3
lh v0,0x2a(s1)
sw v1,0xac(sp)
lw v1,0x5c(sp)
addu v0,v0,v1
addiu v0,v0,0x1
sw v0,0x74(sp)
sw v0,0x2c(s0)
lh v1,0x2a(s1)
addiu a0,v0,0x1
sw a0,0xb4(sp)
addu v0,v1,v0
sw v0,0x2c(s0)
lw v0,0x84(sp)
beq v0,zero,0x0010ddc0
_or a3,s4,zero
lw v0,0xec(s0)
lw v1,0x0(s1)
or a1,s1,zero
lw t9,-0x7cc4(gp)
or a0,s0,zero
sw v0,0xe4(sp)
sw v1,0xec(s0)
lw v0,0x4c(sp)
addiu t9,t9,-0x7980
lw a2,0x48(s1)
sw s0,0xe8(sp)
sw v0,0x14(sp)
sw s8,0x18(sp)
lw v0,0x48(sp)
bal 0x000f8680
_sw v0,0x10(sp)
lw gp,0x38(sp)
sw zero,0x4c(sp)
sw zero,0x48(sp)
lw t9,-0x7d44(gp)
addiu a0,sp,0xec
addiu t9,t9,0x6280
jalr t9
_or a1,s4,zero
lw gp,0x38(sp)
bne v0,zero,0x0010d608
_or v1,v0,zero
lw v0,0x38(s1)
bne v0,zero,0x0010efe4
_sw v0,0xbc(sp)
lw v0,0x38(s0)
addiu v0,v0,-0x1
sw v0,0x38(s0)
sw v0,0x90(sp)
lw v0,0x24(s2)
andi v0,v0,0x80
beq v0,zero,0x0010de18
_nop
lw v0,0x78(s0)
beq v0,zero,0x0010f184
_nop
lw v0,0x24(s1)
andi v0,v0,0x20
beq v0,zero,0x0010ef98
_lw v0,-0x7d60(gp)
lw v0,0x2c(s0)
lh v1,0x32(s5)
addiu t0,v0,0x1
addu v0,v0,v1
addiu v0,v0,0x1
sw v0,0x64(sp)
sw v0,0x2c(s0)
lw v0,0x58(sp)
beq v0,zero,0x0010e71c
_lw v0,-0x7d60(gp)
lw t9,-0x7d50(gp)
li a3,0x10
lw a2,0x90(sp)
or a1,s4,zero
sw t0,0x8c(sp)
or a0,s0,zero
addiu t9,t9,0x6550
jalr t9
_sw v1,0x50(sp)
li v0,0x1
lw gp,0x38(sp)
or t1,zero,zero
lw v1,0x50(sp)
lw t0,0x8c(sp)
sw zero,0xa4(sp)
sw zero,0xa0(sp)
sw v0,0x60(sp)
sw zero,0xb8(sp)
lw v0,0x24(s1)
andi v0,v0,0x20
beq v0,zero,0x0010ee68
_lw v0,-0x7d60(gp)
blez v1,0x0010df38
_sw v1,0x8c(sp)
lw t9,-0x7d5c(gp)
sll t3,v1,0x1
or v0,zero,zero
or t2,t0,zero
addiu t9,t9,0x4eb8
lw a3,0x4(s5)
or a2,s8,zero
sw t0,0xd4(sp)
or a1,s1,zero
sw t1,0xd0(sp)
or a0,s7,zero
addu a3,a3,v0
sw t3,0xcc(sp)
addiu v0,v0,0x2
sw v1,0xc8(sp)
sw t9,0x50(sp)
sw v0,0xc4(sp)
lh a3,0x0(a3)
sw t2,0x10(sp)
addiu t2,t2,0x1
jalr t9
_sw t2,0xc0(sp)
lw v0,0xc4(sp)
lw t3,0xcc(sp)
lw gp,0x38(sp)
lw t9,0x50(sp)
lw t2,0xc0(sp)
lw v1,0xc8(sp)
lw t1,0xd0(sp)
bne t3,v0,0x0010dec4
_lw t0,0xd4(sp)
lw v0,0x60(sp)
beq v0,zero,0x0010ee90
_lw v0,-0x7d60(gp)
bne t1,zero,0x0010e5ac
_sw t0,0x64(sp)
lw v0,0x58(sp)
beq v0,zero,0x0010e54c
_lw v0,0x90(sp)
sw zero,0x94(sp)
sw v0,0x6c(sp)
lw v0,0x68(sp)
bne v0,zero,0x0010e9f0
_or a0,s0,zero
lw v0,0x98(sp)
bne v0,zero,0x0010e4c4
_lw v0,0x80(sp)
bne v0,zero,0x0010e4cc
_lw v0,0x70(sp)
beq v0,zero,0x0010e540
_lw v0,-0x7d58(gp)
or t0,zero,zero
lw v0,0x150(sp)
or a3,zero,zero
lw a1,0x70(sp)
or a0,s0,zero
sw t0,0x88(sp)
or a2,s3,zero
sw v0,0x18(sp)
lw v0,-0x7d58(gp)
sw s1,0x14(sp)
addiu t9,v0,-0x3b58
li v0,0x3
sw t9,0x50(sp)
bal 0x0010c4a8
_sw v0,0x10(sp)
or v1,zero,zero
lw t0,0x88(sp)
lh a0,0x2a(s1)
lw gp,0x38(sp)
or v0,t0,v0
blez a0,0x0010e1cc
_sw v0,0x88(sp)
lw v0,-0x7d5c(gp)
sw s0,0xb0(sp)
or s0,v1,zero
addiu v0,v0,0x4eb8
sw v0,0x98(sp)
lw v0,-0x7d60(gp)
addiu v0,v0,0x10fc
sw v0,0xa8(sp)
or v0,s7,zero
or s7,s1,zero
b 0x0010e038
_or s1,v0,zero
lw t9,0x98(sp)
or a2,s8,zero
sw a3,0x10(sp)
or a1,s7,zero
or a3,s0,zero
jalr t9
_or a0,s1,zero
lw gp,0x38(sp)
lh v0,0x2a(s7)
addiu s0,s0,0x1
slt v0,s0,v0
beq v0,zero,0x0010e1c0
_or v0,s1,zero
lw v0,0xac(sp)
lw v1,0x88(sp)
addu a3,v0,s0
li v0,-0x1
beq v1,v0,0x0010e004
_slti v0,s0,0x20
beq v0,zero,0x0010e068
_li v0,0x1
sllv v0,v0,s0
and v0,v0,v1
bne v0,zero,0x0010e008
_lw t9,0x98(sp)
lw v0,0x4(s7)
sll a0,s0,0x4
addu v0,v0,a0
lbu v0,0xf(v0)
andi v0,v0,0x1
bne v0,zero,0x0010e008
_lw t9,0x98(sp)
lw t9,0xa8(sp)
or a2,zero,zero
li a1,0x49
sw zero,0x10(sp)
jalr t9
_or a0,s1,zero
b 0x0010e024
_lw gp,0x38(sp)
lw s8,0x6c(sp)
li a3,0x2
b 0x0010d730
_sw zero,0xb0(sp)
lui v0,0xfff0
ori v0,v0,0xbdc0
b 0x0010d598
_sw v0,0x8c(sp)
lw v0,0x2c(s2)
li a1,0xb
lw v1,0x150(sp)
addiu v0,v0,0x1
sw v0,0x2c(s2)
lhu a0,0x34(s7)
addu a0,a0,v0
bne v1,a1,0x0010dabc
_sw a0,0x2c(s2)
lbu a1,0x36(s7)
li a0,0x5
bne a1,a0,0x0010dabc
_li a0,0x1
b 0x0010dabc
_sw a0,0xe0(sp)
addiu t9,t9,0x1274
jalr t9
_or a0,s0,zero
lw gp,0x38(sp)
bne v0,zero,0x0010dcbc
_or s7,v0,zero
b 0x0010d60c
_lw v0,0xe8(sp)
lw v1,0x8(s1)
bne v1,zero,0x0010da68
_sw v0,0xe0(sp)
lw t9,-0x7bc8(gp)
li a1,0x1
lw a2,0xa0(sp)
jalr t9
_lw a0,0xa8(sp)
b 0x0010dcb0
_lw gp,0x38(sp)
addiu v1,v1,0x3
lh v0,0x2a(s1)
sw v1,0xac(sp)
lw v1,0x5c(sp)
addu v0,v0,v1
lw v1,0x7c(sp)
bne v1,zero,0x0010dd48
_sw v0,0x2c(s0)
lw v1,0x70(sp)
bne v1,zero,0x0010dd48
_lw v1,0x80(sp)
bne v1,zero,0x0010e538
_lw v1,0x5c(sp)
b 0x0010dd54
_sw v1,0x74(sp)
sw zero,0xac(sp)
sw zero,0xb4(sp)
sw zero,0x74(sp)
b 0x0010dd68
_sw zero,0x5c(sp)
b 0x0010dce8
_sltu a1,zero,v0
b 0x0010d6fc
_or s5,v1,zero
or s5,zero,zero
lw s8,0x6c(sp)
sw zero,0xb0(sp)
li a3,0x2
b 0x0010d730
_or s7,zero,zero
lw s0,0xb0(sp)
or s1,s7,zero
or s7,v0,zero
lw v0,0x68(sp)
bne v0,zero,0x0010e1e4
_lw v0,0x150(sp)
beq s5,zero,0x0010ea30
_lw v0,-0x7d60(gp)
lw v0,0x150(sp)
li a3,0x1
lw a1,0x70(sp)
or a2,s3,zero
lw t9,0x50(sp)
or a0,s0,zero
sw v0,0x18(sp)
li v0,0x1
sw s1,0x14(sp)
jalr t9
_sw v0,0x10(sp)
lh v1,0x2a(s1)
lw gp,0x38(sp)
blez v1,0x0010e32c
_sw v0,0x88(sp)
lw v0,0x54(sp)
or v1,zero,zero
sw s2,0xac(sp)
or s2,v1,zero
sw v0,0x50(sp)
lw v0,-0x7cc8(gp)
sw v0,0xa8(sp)
lw v0,-0x7d5c(gp)
addiu v0,v0,0x4eb8
sw v0,0x98(sp)
lw v0,-0x7d60(gp)
addiu v0,v0,0x10fc
b 0x0010e2b8
_sw v0,0x68(sp)
andi v0,v0,0x1
beq v0,zero,0x0010e27c
_slti v0,s2,0x20
beq v0,zero,0x0010e280
_lw t9,0x98(sp)
lw v0,0x88(sp)
srlv v0,v0,s2
andi v0,v0,0x1
beq v0,zero,0x0010e30c
_lw t9,0x68(sp)
lw t9,0x98(sp)
or a2,s8,zero
sw a3,0x10(sp)
or a1,s1,zero
or a3,s2,zero
jalr t9
_or a0,s7,zero
lw gp,0x38(sp)
lw v1,0x50(sp)
addiu s2,s2,0x1
lh v0,0x2a(s1)
addiu v1,v1,0x4
slt v0,s2,v0
beq v0,zero,0x0010e328
_sw v1,0x50(sp)
lw v1,0xb4(sp)
lh v0,0x28(s1)
beq v0,s2,0x0010e308
_addu a3,s2,v1
lw v0,0x50(sp)
lw a0,0x0(v0)
bltz a0,0x0010e254
_lw v0,0xdc(sp)
sll v0,a0,0x2
lw v1,0xa8(sp)
or a2,a3,zero
addu v0,v0,a0
addiu t9,v1,-0x7cdc
sll v0,v0,0x2
or a0,s0,zero
addu v0,s3,v0
jalr t9
_lw a1,0x4(v0)
b 0x0010e29c
_lw gp,0x38(sp)
lw t9,0x68(sp)
or a2,zero,zero
li a1,0x49
sw zero,0x10(sp)
jalr t9
_or a0,s7,zero
b 0x0010e29c
_lw gp,0x38(sp)
lw s2,0xac(sp)
lw v0,0xdc(sp)
andi v0,v0,0x1
bne v0,zero,0x0010eb00
_lw v0,-0x7d58(gp)
addiu v0,v0,-0x2cec
sw v0,0x68(sp)
lw v0,0x84(sp)
beq v0,zero,0x0010ec70
_lw v0,0x150(sp)
lw v0,0xa4(sp)
bne v0,zero,0x0010ec4c
_lw t9,-0x7d60(gp)
lw v0,0x6c(sp)
li s8,0x2
lw a1,0x70(sp)
li a2,0x76
lw t9,0x68(sp)
or a3,s3,zero
sw v0,0x20(sp)
or a0,s0,zero
lw v0,0x150(sp)
sw s1,0x14(sp)
sw s8,0x10(sp)
sw v0,0x1c(sp)
lw v0,0x5c(sp)
jalr t9
_sw v0,0x18(sp)
li v0,0x1
lw v1,0x60(sp)
beq v1,v0,0x0010e4b8
_lw gp,0x38(sp)
lw v0,0x60(sp)
beq v0,s8,0x0010ead0
_or a0,s7,zero
beq s5,zero,0x0010e498
_lw t9,-0x7d60(gp)
lw s1,-0x7d60(gp)
addiu s1,s1,0xd78
or t9,s1,zero
jalr t9
_lw a1,0x6c(sp)
li a1,0x5
lw gp,0x38(sp)
or a0,s7,zero
lw a3,0x94(sp)
lw a2,0xa0(sp)
lw t9,-0x7d60(gp)
addiu t9,t9,0x10fc
jalr t9
_sw zero,0x10(sp)
lw a1,0x90(sp)
or t9,s1,zero
jalr t9
_or a0,s7,zero
lbu v0,0x12(s0)
bne v0,zero,0x0010e41c
_lw gp,0x38(sp)
lw v0,0x78(s0)
beq v0,zero,0x0010f8b4
_lw v0,0x58(sp)
lw v0,0xa4(sp)
beq v0,zero,0x0010d608
_lw t9,-0x7d60(gp)
li a3,0x1
li a1,0x51
sw zero,0x10(sp)
or a0,s7,zero
addiu t9,t9,0x10fc
jalr t9
_or a2,v0,zero
li a1,0x1
lw gp,0x38(sp)
lw t9,-0x7d7c(gp)
addiu t9,t9,-0x7898
jalr t9
_or a0,s7,zero
lw v0,0x0(s7)
lbu v0,0x51(v0)
bne v0,zero,0x0010d608
_lw gp,0x38(sp)
lw a3,-0x7fc4(gp)
or a2,zero,zero
lw t9,-0x7d60(gp)
or a1,zero,zero
sw zero,0x10(sp)
or a0,s7,zero
addiu t9,t9,-0x2a8
jalr t9
_addiu a3,a3,-0x2d20
b 0x0010d608
_lw gp,0x38(sp)
or a2,zero,zero
lw a3,0x6c(sp)
li a1,0xb
sw zero,0x10(sp)
addiu t9,t9,0x10fc
jalr t9
_or a0,s7,zero
lw gp,0x38(sp)
lw s1,-0x7d60(gp)
b 0x0010e3f4
_addiu s1,s1,0xd78
beq v0,zero,0x0010df80
_or t0,zero,zero
lw v0,0x0(s0)
lw v0,0x24(v0)
andi v0,v0,0x4000
beq v0,zero,0x0010df7c
_lw t9,-0x7d5c(gp)
or a1,s1,zero
addiu t9,t9,-0x6eb0
jalr t9
_or a0,s0,zero
lw gp,0x38(sp)
b 0x0010df80
_or t0,v0,zero
sw zero,0x68(sp)
b 0x0010da00
_sw zero,0x88(sp)
b 0x0010d954
_lw t4,0x4(s4)
beq v0,zero,0x0010ef6c
_lw v0,0x68(sp)
addiu v1,v1,0x3
lh v0,0x2a(s1)
sw v1,0xac(sp)
lw v1,0x5c(sp)
addu v0,v0,v1
lw v1,0x68(sp)
bne v1,zero,0x0010dd48
_sw v0,0x2c(s0)
b 0x0010dd48
_lw v0,0x2c(s0)
addiu v0,v0,-0x3b58
b 0x0010e1e0
_sw v0,0x50(sp)
lw v1,0x60(sp)
li v0,0x2
bne v1,v0,0x0010ea54
_lw v0,0x84(sp)
beq v0,zero,0x0010e5cc
_lw v0,-0x7d60(gp)
addiu v0,v0,0x10fc
sw v0,0x50(sp)
lw v0,0x38(s0)
addiu v0,v0,-0x1
sw v0,0x6c(sp)
sw v0,0x38(s0)
lw a2,0x5c(sp)
li a1,0x32
lw v0,0x64(sp)
or a0,s7,zero
lw a3,0x90(sp)
lw t9,0x50(sp)
movn a2,v0,s5
jalr t9
_sw zero,0x10(sp)
lw gp,0x38(sp)
b 0x0010df54
_sw zero,0x94(sp)
lw t9,-0x7d7c(gp)
addiu a1,s7,0x68
lw a0,0x0(s7)
addiu t9,t9,-0x2478
jalr t9
_or a2,t1,zero
b 0x0010df40
_lw gp,0x38(sp)
addiu v0,v0,0x10fc
sw v0,0x50(sp)
lw v0,0x10c(sp)
bltz v0,0x0010e5f0
_lw v1,0x6c(sp)
subu v0,v0,v1
lw v1,0xa8(sp)
addu v0,v1,v0
sb zero,0x0(v0)
lw v0,0x110(sp)
bltz v0,0x0010e60c
_lw v1,0x6c(sp)
subu v0,v0,v1
lw v1,0xa8(sp)
addu v0,v1,v0
sb zero,0x0(v0)
lw v1,0x60(sp)
li v0,0x2
bne v1,v0,0x0010e634
_lw v0,0x110(sp)
lw v1,0xb0(sp)
nor v0,zero,v0
srl v0,v0,0x1f
subu v0,v1,v0
bgtz v0,0x0010ea90
_lw t9,0x50(sp)
lw v1,0x38(s1)
bne v1,zero,0x0010e6b8
_lw v0,0x60(sp)
lw v0,0xa8(sp)
or a3,zero,zero
lw t9,-0x7d5c(gp)
li a2,0x6e
sw v1,0xb0(sp)
or a1,s1,zero
sw v0,0x14(sp)
or a0,s0,zero
sw zero,0x1c(sp)
addiu t9,t9,0x64e0
sw zero,0x18(sp)
lw v0,0x6c(sp)
jalr t9
_sw v0,0x10(sp)
lw gp,0x38(sp)
lw v1,0xb0(sp)
beq v1,zero,0x0010e6b4
_nop
bgez v1,0x0010e694
_lw v0,0x6c(s7)
addiu v1,v0,-0x1
lw a0,0x0(s7)
lbu a0,0x51(a0)
bne a0,zero,0x0010e98c
_li a1,0x18
lw a0,0x68(s7)
mul a2,v1,a1
addu v1,a2,a0
sw v0,0x8(v1)
lw v0,0x60(sp)
beq v0,zero,0x0010e904
_lw v0,0x10c(sp)
beq v0,s8,0x0010e6fc
_lw v0,0x110(sp)
beq v0,s8,0x0010e700
_lw v1,0x90(sp)
lw v0,0x8c(sp)
li a1,0x1c
lw t9,-0x7d60(gp)
or a2,s8,zero
lw a3,0x90(sp)
or a0,s7,zero
sw v0,0x14(sp)
lw v0,0x64(sp)
addiu t9,t9,0x13a0
jalr t9
_sw v0,0x10(sp)
lw v1,0x90(sp)
li v0,0x1
sw v1,0x6c(sp)
lw v1,0x60(sp)
beq v1,v0,0x0010e580
_lw a2,0x5c(sp)
b 0x0010e570
_lw v0,0x38(s0)
sw zero,0xa4(sp)
addiu v0,v0,0x10fc
sw v0,0x50(sp)
lw a0,0x28(s0)
addu v0,v1,t0
lw t9,0x50(sp)
or a2,zero,zero
addiu v0,v0,-0x1
sw t0,0xb8(sp)
sw a0,0xa0(sp)
addiu a0,a0,0x1
li a1,0x49
sw v1,0x60(sp)
or a3,t0,zero
sw a0,0x28(s0)
or a0,s7,zero
jalr t9
_sw v0,0x10(sp)
li a1,0x71
lw v1,0x60(sp)
or a0,s7,zero
lw a2,0xa0(sp)
lw t9,0x50(sp)
or a3,v1,zero
sw v1,0x8c(sp)
jalr t9
_sw zero,0x10(sp)
or a1,s5,zero
lw gp,0x38(sp)
or a0,s0,zero
lw t9,-0x7d5c(gp)
addiu t9,t9,-0x62dc
jalr t9
_sw v0,0x60(sp)
lw gp,0x38(sp)
lw t1,0x60(sp)
lw v1,0x8c(sp)
lw t0,0xb8(sp)
lbu v0,0x12(s0)
lw a0,0x7c(sp)
or v0,a0,v0
bne v0,zero,0x0010e7f0
_li v0,0x1004
lw v0,0x70(sp)
bne v0,zero,0x0010e7f0
_li v0,0x1004
lw a0,0x80(sp)
li a1,0x100c
lw v0,0xe0(sp)
or v0,a0,v0
li a0,0x1004
movz a0,a1,v0
or v0,a0,zero
lw t9,-0x7cc8(gp)
or a3,zero,zero
lw a1,0x44(sp)
or a2,s4,zero
sw v1,0x8c(sp)
or a0,s0,zero
sw t0,0xc4(sp)
addiu t9,t9,0x3790
sw t1,0xc0(sp)
sw v0,0x14(sp)
sw zero,0x10(sp)
lw v1,0x78(sp)
bal 0x000f3790
_sw v1,0x18(sp)
lw gp,0x38(sp)
or v1,v0,zero
beq v0,zero,0x0010d608
_sw v0,0xb8(sp)
addiu v0,v0,0x18
lw t1,0xc0(sp)
li a2,0x1
lw t0,0xc4(sp)
lwl a1,0x0(v0)
lwl a0,0x4(v0)
lwr a1,0x3(v0)
lwr a0,0x7(v0)
sw a1,0x10c(sp)
sw a0,0x110(sp)
lbu a1,0x31(v1)
lw v1,0x8c(sp)
beq a1,a2,0x0010de98
_sw a1,0x60(sp)
lw v0,0x74(s0)
li a0,0x2
movz v0,s0,v0
beq a1,a0,0x0010f548
_sb a2,0x14(v0)
lw v0,0x24(s1)
andi v0,v0,0x20
bne v0,zero,0x0010f538
_lw a3,0x5c(sp)
li a1,0x80
lw t9,0x50(sp)
or a2,s8,zero
sw zero,0x10(sp)
jalr t9
_or a0,s7,zero
lw v0,0x60(sp)
bne v0,zero,0x0010e8dc
_lw gp,0x38(sp)
lw a3,0x5c(sp)
li a1,0x94
lw a2,0x94(sp)
or a0,s7,zero
lw t9,0x50(sp)
jalr t9
_sw zero,0x10(sp)
lw gp,0x38(sp)
sw zero,0x60(sp)
lw t9,-0x7d5c(gp)
addiu t9,t9,0x592c
jalr t9
_lw a0,0xb8(sp)
lw v0,0x84(sp)
beq v0,zero,0x0010ef84
_lw gp,0x38(sp)
lw v0,0x60(sp)
bne v0,zero,0x0010e6fc
_sw zero,0x8c(sp)
beq s5,zero,0x0010e99c
_li a1,0x24
lw v0,0x38(s0)
lw a3,0x90(sp)
or a0,s7,zero
lw a2,0xa0(sp)
addiu v0,v0,-0x1
lw t9,0x50(sp)
sw v0,0x38(s0)
sw v0,0x6c(sp)
jalr t9
_sw zero,0x10(sp)
li a1,0x7f
lw a3,0x64(sp)
or a0,s7,zero
lw a2,0xa0(sp)
lw t9,0x50(sp)
jalr t9
_sw zero,0x10(sp)
li a1,0x1c
lw gp,0x38(sp)
or a2,s8,zero
lw v1,0x64(sp)
or a0,s7,zero
lw a3,0x6c(sp)
sw zero,0x14(sp)
sw v1,0x10(sp)
lw t9,-0x7d60(gp)
addiu t9,t9,0x13a0
jalr t9
_sw v0,0x94(sp)
lw gp,0x38(sp)
b 0x0010df54
_sw zero,0x60(sp)
lw v1,-0x7fd8(gp)
addiu v1,v1,0xfbc
b 0x0010e6b4
_sw v0,0x8(v1)
lw v0,0x5c(sp)
li a1,0x29
lw a3,0x90(sp)
or a0,s7,zero
lw a2,0x94(sp)
lw t9,0x50(sp)
jalr t9
_sw v0,0x10(sp)
li a1,0x1f
or a3,v0,zero
lw t9,0x50(sp)
sw v0,0x6c(sp)
or a2,s8,zero
lw v0,0x5c(sp)
or a0,s7,zero
jalr t9
_sw v0,0x10(sp)
lw gp,0x38(sp)
sw zero,0x60(sp)
b 0x0010df54
_sw zero,0x94(sp)
lw t9,-0x7cc8(gp)
lw a2,0x74(sp)
addiu t9,t9,-0x7cdc
jalr t9
_lw a1,0x88(sp)
or a3,zero,zero
lw gp,0x38(sp)
li a1,0xf
lw a2,0x74(sp)
or a0,s7,zero
lw v0,-0x7d60(gp)
addiu t9,v0,0x10fc
jalr t9
_sw zero,0x10(sp)
b 0x0010df60
_lw gp,0x38(sp)
li a1,0x4e
lw a3,0x74(sp)
or a0,s7,zero
lw a2,0x5c(sp)
addiu t9,v0,0x10fc
jalr t9
_sw zero,0x10(sp)
b 0x0010e1e4
_lw v0,0x150(sp)
lw t9,-0x7d5c(gp)
addiu t9,t9,0x592c
jalr t9
_lw a0,0xb8(sp)
lw v0,0x84(sp)
bne v0,zero,0x0010eac0
_lw gp,0x38(sp)
lw v0,-0x7d60(gp)
addiu v0,v0,0x10fc
sw v0,0x50(sp)
lw v0,0x60(sp)
beq v0,zero,0x0010e634
_lw v0,0x10c(sp)
b 0x0010e5d8
_nop
or a3,zero,zero
or a2,zero,zero
sw zero,0x10(sp)
li a1,0x11
jalr t9
_or a0,s7,zero
lw a0,0x38(s1)
or v1,v0,zero
beq a0,zero,0x0010e640
_lw gp,0x38(sp)
b 0x0010e680
_nop
lw v0,-0x7d60(gp)
addiu v0,v0,0x10fc
b 0x0010e6fc
_sw v0,0x50(sp)
lw s1,-0x7d60(gp)
addiu s1,s1,0xd78
or t9,s1,zero
jalr t9
_lw a1,0x6c(sp)
lw gp,0x38(sp)
lw t9,-0x7d5c(gp)
addiu t9,t9,0x592c
jalr t9
_lw a0,0xb8(sp)
b 0x0010e3f8
_lw a1,0x90(sp)
lw t9,-0x7d60(gp)
or a1,s1,zero
lw a2,0xb4(sp)
addiu t9,t9,0x15f0
jalr t9
_or a0,s7,zero
li a2,0x76
lw gp,0x38(sp)
or a3,s3,zero
lw v0,0x6c(sp)
or a0,s0,zero
lw v1,0x150(sp)
lw a1,0x70(sp)
sw v0,0x20(sp)
sw v1,0x1c(sp)
lw v0,-0x7d58(gp)
lw v1,0x5c(sp)
sw s1,0x14(sp)
addiu t9,v0,-0x2cec
li v0,0x1
sw v1,0x18(sp)
sw t9,0x68(sp)
bal 0x0010d314
_sw v0,0x10(sp)
beq s5,zero,0x0010ec20
_lw gp,0x38(sp)
lw t9,-0x7d60(gp)
li a1,0x1c
lw v1,0x8c(sp)
or a2,s8,zero
lw v0,0x64(sp)
or a0,s7,zero
lw a3,0x6c(sp)
addiu t9,t9,0x13a0
sw v1,0x14(sp)
jalr t9
_sw v0,0x10(sp)
lw gp,0x38(sp)
lh v1,0x2a(s1)
blez v1,0x0010e344
_lw v0,0x54(sp)
lw t9,-0x7d5c(gp)
sw s4,0x50(sp)
or s4,s3,zero
or s3,s0,zero
lw s0,0xbc(sp)
b 0x0010ebd0
_addiu t9,t9,0x4eb8
addiu s0,s0,0x1
slt a0,s0,v1
beq a0,zero,0x0010f8e8
_addiu v0,v0,0x4
lw a0,0x0(v0)
bgez a0,0x0010ebc0
_nop
lh a0,0x28(s1)
beq a0,s0,0x0010ebc0
_or a3,s0,zero
sw v0,0x98(sp)
lw v0,0xb4(sp)
or a2,s8,zero
sw t9,0x88(sp)
or a1,s1,zero
or a0,s7,zero
addu v1,s0,v0
jalr t9
_sw v1,0x10(sp)
lw gp,0x38(sp)
lh v1,0x2a(s1)
lw v0,0x98(sp)
b 0x0010ebc0
_lw t9,0x88(sp)
lw v0,-0x7d60(gp)
li a1,0x1f
lw v1,0x5c(sp)
or a2,s8,zero
lw a3,0x6c(sp)
or a0,s7,zero
addiu t9,v0,0x10fc
jalr t9
_sw v1,0x10(sp)
b 0x0010eb98
_lw gp,0x38(sp)
li a3,0x1
li a1,0x53
sw zero,0x10(sp)
or a2,v0,zero
addiu t9,t9,0x10fc
jalr t9
_or a0,s7,zero
b 0x0010e360
_lw v0,0x6c(sp)
or a3,s8,zero
lw v1,0x54(sp)
or a1,s1,zero
lw t9,-0x7d58(gp)
or a0,s0,zero
andi v0,v0,0xff
lw a2,0x9c(sp)
sw v0,0x20(sp)
lw v0,0x7c(sp)
addiu t9,t9,-0x6e8
sw v1,0x2c(sp)
addiu v1,sp,0xe0
sw zero,0x30(sp)
sw v0,0x1c(sp)
lw v0,0x5c(sp)
sw v1,0x28(sp)
lw v1,0x6c(sp)
sw v0,0x18(sp)
lw v0,0x74(sp)
sw v1,0x24(sp)
sw v0,0x14(sp)
lw v0,0x78(sp)
bal 0x0010f918
_sw v0,0x10(sp)
lw v0,0x80(sp)
bne v0,zero,0x0010f4f4
_lw gp,0x38(sp)
lw v1,0xe0(sp)
bne v1,zero,0x0010f6e0
_lw v0,-0x7d60(gp)
lw v0,0x7c(sp)
bne v0,zero,0x0010f6e0
_lw v0,-0x7d60(gp)
lw v0,0x9c(sp)
or a2,s8,zero
lw t9,-0x7cc8(gp)
or a1,s1,zero
lw a3,0x78(sp)
or a0,s0,zero
sw v0,0x10(sp)
li v0,-0x1
addiu t9,t9,-0x874
sw v1,0x50(sp)
bal 0x000ef78c
_sw v0,0x14(sp)
lw v0,0x80(sp)
lw gp,0x38(sp)
slti v0,v0,0x2
bne v0,zero,0x0010f6cc
_lw v1,0x50(sp)
lw v0,-0x7d60(gp)
li a3,0x4
addiu v0,v0,0x10fc
sw v0,0x50(sp)
lw v0,0x74(sp)
li a1,0x7b
lw t9,0x50(sp)
or a0,s7,zero
sw v1,0x64(sp)
or a2,s8,zero
jalr t9
_sw v0,0x10(sp)
li v0,0x2
lw a0,0x60(sp)
lw gp,0x38(sp)
beq a0,v0,0x0010ee44
_lw v1,0x64(sp)
lbu v0,0x12(s0)
beq v0,zero,0x0010ee20
_lw t9,-0x7d7c(gp)
lw v0,0xe0(sp)
bne v0,zero,0x0010ed9c
_lw v0,0x7c(sp)
beq v0,zero,0x0010edcc
_lw v0,0x80(sp)
bgez v1,0x0010eda8
_lw a0,0x6c(s7)
addiu v1,a0,-0x1
lw v0,0x0(s7)
lbu v0,0x51(v0)
bne v0,zero,0x0010f8dc
_li v0,0x18
lw a1,0x68(s7)
mul a2,v1,v0
addu v1,a2,a1
sw a0,0x8(v1)
lw v0,0x80(sp)
bne v0,zero,0x0010f7f4
_lw v1,0x60(sp)
li v0,0x2
beq v1,v0,0x0010f7e0
_lw a3,0x78(sp)
li v0,0x4
sw zero,0x20(sp)
or a2,s8,zero
sw zero,0x1c(sp)
lw t9,-0x7d60(gp)
or a1,s1,zero
sw v0,0x18(sp)
or a0,s0,zero
lw v0,0x9c(sp)
addiu t9,t9,0x2940
sw v0,0x14(sp)
lw v0,0x74(sp)
jalr t9
_sw v0,0x10(sp)
b 0x0010e350
_lw gp,0x38(sp)
li a2,-0x6
sw v1,0x50(sp)
or a1,s1,zero
addiu t9,t9,-0x24d4
jalr t9
_or a0,s7,zero
lw gp,0x38(sp)
b 0x0010ed88
_lw v1,0x50(sp)
lw v0,0x6c(s7)
blez v0,0x0010ed7c
_li a1,0x18
lw a0,0x68(s7)
mul a2,v0,a1
addu v0,a2,a0
lw a0,0x60(sp)
b 0x0010ed7c
_sh a0,-0x16(v0)
li a1,0x80
lw a3,0x5c(sp)
or a2,s8,zero
sw zero,0x10(sp)
addiu t9,v0,0x10fc
jalr t9
_or a0,s7,zero
lw gp,0x38(sp)
b 0x0010df40
_sw zero,0x8c(sp)
addiu v0,v0,0x10fc
sw v0,0x50(sp)
lw t9,-0x7d78(gp)
or a1,s5,zero
sw t0,0x8c(sp)
or a0,s2,zero
addiu t9,t9,0x1c4c
jalr t9
_sw v1,0x60(sp)
li a1,0x66
lw v1,0x60(sp)
or a0,s7,zero
lw t0,0x8c(sp)
lw t9,0x50(sp)
or a3,v1,zero
lw v1,0x64(sp)
or a2,t0,zero
sw t0,0xc0(sp)
sw v0,0x8c(sp)
jalr t9
_sw v1,0x10(sp)
or a0,s7,zero
lw gp,0x38(sp)
or a1,v0,zero
lw v1,0x60(sp)
lw t1,0x8c(sp)
lw t9,-0x7d7c(gp)
or a3,v1,zero
addiu t9,t9,0x7a3c
jalr t9
_or a2,t1,zero
li a1,0x84
lw gp,0x38(sp)
or a0,s7,zero
lw v1,0x60(sp)
lw t0,0xc0(sp)
lw a3,0x64(sp)
lw t9,-0x7d60(gp)
lw a2,0xa0(sp)
sw v1,0x14(sp)
addiu t9,t9,0x13a0
jalr t9
_sw t0,0x10(sp)
lw v0,0x58(sp)
lw gp,0x38(sp)
beq v0,zero,0x0010e8dc
_sw zero,0x60(sp)
lw v0,0x90(sp)
sw zero,0x8c(sp)
sw zero,0x94(sp)
b 0x0010df54
_sw v0,0x6c(sp)
lw t9,-0x7b28(gp)
jalr t9
_nop
bne v0,zero,0x0010ef8c
_lw v1,0x5c(sp)
sw zero,0xac(sp)
or v0,v1,zero
b 0x0010dd54
_sw v1,0x74(sp)
b 0x0010ea7c
_sw zero,0x8c(sp)
lw v0,0x5c(sp)
b 0x0010dd48
_sw zero,0xac(sp)
or a2,zero,zero
lw v1,0x5c(sp)
li a1,0x49
lw a3,0x94(sp)
or a0,s7,zero
addiu t9,v0,0x10fc
sw v1,0x10(sp)
jalr t9
_sw t9,0x50(sp)
lw v0,0x58(sp)
bne v0,zero,0x0010f528
_lw gp,0x38(sp)
sw zero,0xa4(sp)
sw zero,0x64(sp)
or t0,zero,zero
or t1,zero,zero
sw zero,0xa0(sp)
b 0x0010e7b4
_or v1,zero,zero
lw s5,0x40(s1)
lw s7,0x8(s0)
bne s5,zero,0x0010f008
_lw v0,0x0(s0)
b 0x0010f014
_lw t0,0x44(sp)
lw s5,0x18(s5)
beq s5,zero,0x0010f018
_li a1,0x71
lw a0,0x0(s5)
bne v0,a0,0x0010effc
_lw t0,0x44(sp)
li a1,0x71
lh a3,0x2a(s1)
or a0,s7,zero
lw v0,-0x7d60(gp)
sw v1,0x78(sp)
lw v1,0x28(s0)
addiu a3,a3,0x2
lw t1,0x30(t0)
addiu t9,v0,0x10fc
sw a3,0x64(sp)
addiu a2,v1,0x1
sw v1,0x58(sp)
sw t1,0x5c(sp)
sw a2,0x28(s0)
or a2,v1,zero
sw t9,0x50(sp)
jalr t9
_sw zero,0x10(sp)
or a3,zero,zero
lw gp,0x38(sp)
or a2,s4,zero
lw s8,0x2c(s0)
or a0,s0,zero
lw v1,0x64(sp)
lw a1,0x44(sp)
lw t9,-0x7cc8(gp)
addu v1,v1,s8
sw v0,0x60(sp)
addiu v0,s8,0x1
sw v1,0x74(sp)
addiu v1,v1,0x2
sw v0,0x68(sp)
li v0,0x4
addiu t9,t9,0x3790
sw v1,0x2c(s0)
sw v1,0x70(sp)
sw zero,0x18(sp)
sw v0,0x14(sp)
bal 0x000f3790
_sw zero,0x10(sp)
lw gp,0x38(sp)
beq v0,zero,0x0010d608
_sw v0,0x6c(sp)
lh v0,0x2a(s1)
blez v0,0x0010f1d4
_lw v1,0x78(sp)
addiu v0,s8,0x3
lw t0,0x54(sp)
sw s2,0x80(sp)
or s2,s7,zero
sw v0,0x78(sp)
or s7,v1,zero
lw v0,-0x7cc8(gp)
sw s4,0x84(sp)
or s4,t0,zero
addiu v0,v0,-0x7cdc
b 0x0010f130
_sw v0,0x7c(sp)
sll v0,a0,0x2
lw t9,0x7c(sp)
addu v0,v0,a0
or a0,s0,zero
sll v0,v0,0x2
addu v0,s3,v0
jalr t9
_lw a1,0x4(v0)
lh v0,0x2a(s1)
addiu s7,s7,0x1
slt v0,s7,v0
beq v0,zero,0x0010f1c8
_addiu s4,s4,0x4
lw v0,0x78(sp)
lw a0,0x0(s4)
bgez a0,0x0010f0fc
_addu a2,v0,s7
lw t9,0x50(sp)
li a1,0xa4
sw a2,0x10(sp)
or a3,s7,zero
lw a2,0x5c(sp)
jalr t9
_or a0,s2,zero
lw a1,0x6c(s2)
blez a1,0x0010f11c
_sll v0,a1,0x1
lw a0,0x68(s2)
li v1,0x1
addu v0,v0,a1
sll v0,v0,0x3
addu v0,a0,v0
b 0x0010f11c
_sh v1,-0x16(v0)
lbu v0,0x12(s0)
bne v0,zero,0x0010de18
_lw v0,0x58(sp)
beq v0,zero,0x0010f628
_or a2,zero,zero
lw v0,0x24(s1)
andi v0,v0,0x20
beq v0,zero,0x0010f598
_lw v0,-0x7d60(gp)
lw v0,0x2c(s0)
lh v1,0x32(s5)
addiu t0,v0,0x1
addu v0,v1,v0
addiu v0,v0,0x1
sw v0,0x64(sp)
b 0x0010de50
_sw v0,0x2c(s0)
or s7,s2,zero
lw s4,0x84(sp)
lw s2,0x80(sp)
lw v0,0x24(s1)
andi v0,v0,0x20
beq v0,zero,0x0010f4b0
_lw a2,0x5c(sp)
lw v0,0x8(s1)
beq v0,zero,0x0010f910
_li a0,0x80
lbu v1,0x37(v0)
andi v1,v1,0xc0
beq v1,a0,0x0010f21c
_li a1,-0x40
lw v0,0x14(v0)
beq v0,zero,0x0010f910
_nop
lbu v1,0x37(v0)
and v1,a1,v1
bne v1,a0,0x0010f200
_nop
lw v0,0x4(v0)
li a1,0xa4
lw a2,0x5c(sp)
or a0,s7,zero
lw t9,0x50(sp)
lh v1,0x0(v0)
lw v0,0x68(sp)
or a3,v1,zero
sw v1,0x78(sp)
jalr t9
_sw v0,0x10(sp)
addiu a2,s8,0x3
lw v1,0x78(sp)
addiu a3,s8,0x2
lw t9,0x50(sp)
li a1,0x4f
sw zero,0x10(sp)
or a0,s7,zero
jalr t9
_addu a2,a2,v1
lw gp,0x38(sp)
lw a1,0x6c(sp)
addiu v0,a1,0x18
lwl a0,0x0(v0)
lwl v1,0x4(v0)
lwr a0,0x3(v0)
lwr v1,0x7(v0)
sw a0,0x10c(sp)
sw v1,0x110(sp)
lbu s8,0x31(a1)
bne s8,zero,0x0010f5ec
_li t0,0x1
lw v0,0x74(s0)
lw v1,0x74(sp)
li a1,0x66
lw a3,0x64(sp)
or a0,s7,zero
movz v0,s0,v0
addiu v1,v1,0x1
lw a2,0x68(sp)
lw t9,0x50(sp)
sw v1,0x5c(sp)
sb t0,0x14(v0)
jalr t9
_sw v1,0x10(sp)
li a1,0x79
lw a3,0x70(sp)
or a0,s7,zero
lw a2,0x58(sp)
lw t9,0x50(sp)
jalr t9
_sw zero,0x10(sp)
li a1,0x7a
lw v1,0x5c(sp)
or a0,s7,zero
lw v0,0x70(sp)
lw a2,0x58(sp)
lw t9,0x50(sp)
or a3,v1,zero
jalr t9
_sw v0,0x10(sp)
lw gp,0x38(sp)
lw t9,-0x7d5c(gp)
addiu t9,t9,0x592c
jalr t9
_lw a0,0x6c(sp)
or a3,zero,zero
lw a2,0x58(sp)
li a1,0x24
lw t9,0x50(sp)
or a0,s7,zero
jalr t9
_sw zero,0x10(sp)
lw gp,0x38(sp)
sw v0,0x60(sp)
lw v0,0x64(sp)
blez v0,0x0010f390
_or v1,zero,zero
lw v0,0x68(sp)
or a3,v1,zero
lw a2,0x58(sp)
li a1,0x5a
lw t9,0x50(sp)
or a0,s7,zero
addu v0,v0,v1
addiu v1,v1,0x1
sw v0,0x10(sp)
jalr t9
_sw v1,0x5c(sp)
lw v0,0x64(sp)
lw v1,0x5c(sp)
bne v0,v1,0x0010f354
_lw gp,0x38(sp)
lw t9,-0x7cf4(gp)
or a1,s1,zero
addiu t9,t9,-0x3f00
jalr t9
_or a0,s0,zero
or a2,zero,zero
lw v0,0x68(sp)
li a1,0xa
lw a3,0x64(sp)
or a0,s7,zero
lw t9,0x50(sp)
jalr t9
_sw v0,0x10(sp)
li a3,-0xc
lw gp,0x38(sp)
or a1,v0,zero
or a2,s5,zero
lw t9,-0x7d7c(gp)
addiu t9,t9,0x7a3c
jalr t9
_or a0,s7,zero
li v0,0xb
lw v1,0x150(sp)
bne v1,v0,0x0010f3fc
_lw gp,0x38(sp)
li v0,0x2
sw v0,0x150(sp)
lw v0,0x6c(s7)
blez v0,0x0010f41c
_li a0,0x18
lw v1,0x68(s7)
mul a1,v0,a0
addu v0,a1,v1
lw v1,0x150(sp)
sh v1,-0x16(v0)
lw v0,0x74(s0)
movn s0,v0,v0
li v0,0x1
bne s8,zero,0x0010f5cc
_sb v0,0x15(s0)
lw s0,0x60(sp)
li a1,0x5
lw a2,0x58(sp)
or a0,s7,zero
lw t9,0x50(sp)
addiu a3,s0,0x1
jalr t9
_sw zero,0x10(sp)
lw gp,0x38(sp)
bgez s0,0x0010f464
_lw v1,0x6c(s7)
addiu v0,v1,-0x1
sw v0,0x60(sp)
lw v0,0x0(s7)
lbu v0,0x51(v0)
bne v0,zero,0x0010f5e4
_lw v0,-0x7fd8(gp)
lw a1,0x60(sp)
li a0,0x18
lw v0,0x68(s7)
mul a2,a1,a0
addu v0,a2,v0
lw a2,0x58(sp)
or a3,zero,zero
lw t9,0x50(sp)
li a1,0x75
sw v1,0x8(v0)
or a0,s7,zero
jalr t9
_sw zero,0x10(sp)
b 0x0010d608
_lw gp,0x38(sp)
li a1,0x80
lw a3,0x68(sp)
or a0,s7,zero
lw t9,0x50(sp)
jalr t9
_sw zero,0x10(sp)
addiu a2,s8,0x2
lw v0,0x88(sp)
beq v0,zero,0x0010f7bc
_lw gp,0x38(sp)
lw t9,-0x7cc8(gp)
or a1,v0,zero
addiu t9,t9,-0x7cdc
jalr t9
_or a0,s0,zero
b 0x0010f270
_lw gp,0x38(sp)
lw v0,0x7c(sp)
or a3,zero,zero
lw t9,-0x7d58(gp)
or a1,s1,zero
lw a2,0x5c(sp)
or a0,s0,zero
sw v0,0x14(sp)
lw v0,0x54(sp)
addiu t9,t9,-0x641c
bal 0x00109be4
_sw v0,0x10(sp)
b 0x0010ecdc
_lw gp,0x38(sp)
sw zero,0x64(sp)
or t0,zero,zero
b 0x0010de50
_or v1,zero,zero
bgtz v1,0x0010deb0
_sw v1,0x8c(sp)
b 0x0010df30
_lw v0,0x60(sp)
lw v0,0x110(sp)
bltz v0,0x0010de98
_nop
beq s8,v0,0x0010de98
_lw a0,0x6c(sp)
subu v0,v0,a0
lw a0,0xa8(sp)
addu v0,a0,v0
lbu v0,0x0(v0)
beq v0,zero,0x0010de98
_nop
lw v0,0x24(s1)
andi v0,v0,0x20
beq v0,zero,0x0010f688
_lw a3,0x5c(sp)
sw v1,0x8c(sp)
bgtz v1,0x0010deb0
_sw zero,0x60(sp)
b 0x0010ee9c
_lw t9,-0x7d78(gp)
or a2,zero,zero
lw v1,0x5c(sp)
li a1,0x49
lw a3,0x94(sp)
or a0,s7,zero
addiu t9,v0,0x10fc
jalr t9
_sw v1,0x10(sp)
or t0,zero,zero
lw gp,0x38(sp)
or v1,zero,zero
b 0x0010de50
_sw zero,0x64(sp)
lw t9,-0x7d5c(gp)
addiu t9,t9,0x592c
jalr t9
_lw a0,0x6c(sp)
b 0x0010d608
_lw gp,0x38(sp)
b 0x0010f488
_addiu v0,v0,0xfbc
lw t9,-0x7d7c(gp)
addiu a1,s7,0x68
lw a0,0x0(s7)
addiu t9,t9,-0x2478
jalr t9
_lw a2,0x60(sp)
or a3,zero,zero
lw a2,0x5c(sp)
li a1,0x75
lw t9,0x50(sp)
or a0,s7,zero
jalr t9
_sw zero,0x10(sp)
b 0x0010f390
_lw gp,0x38(sp)
lw v1,0x2c(s0)
lw v0,-0x7d60(gp)
li a1,0x46
or a0,s7,zero
addiu v1,v1,0x1
addiu t9,v0,0x10fc
sw v1,0x2c(s0)
or a3,v1,zero
sw v1,0xa4(sp)
sw t9,0x50(sp)
jalr t9
_sw zero,0x10(sp)
lw v0,0x24(s1)
andi v0,v0,0x20
beq v0,zero,0x0010f6a8
_lw v0,0x5c(sp)
lw v0,0x2c(s0)
lh v1,0x32(s5)
addiu t0,v0,0x1
addu v0,v1,v0
addiu v0,v0,0x1
sw v0,0x64(sp)
b 0x0010e728
_sw v0,0x2c(s0)
li a1,0x80
lw t9,0x50(sp)
or a2,s8,zero
sw zero,0x10(sp)
jalr t9
_or a0,s7,zero
b 0x0010e8bc
_lw a3,0x5c(sp)
or a2,zero,zero
lw a3,0x94(sp)
li a1,0x49
lw t9,0x50(sp)
or a0,s7,zero
jalr t9
_sw v0,0x10(sp)
b 0x0010efcc
_lw gp,0x38(sp)
lw v0,-0x7d60(gp)
li a3,0x44
addiu v0,v0,0x10fc
b 0x0010ed48
_sw v0,0x50(sp)
beq s5,zero,0x0010f790
_or a3,zero,zero
lw v1,0x64(sp)
addiu t9,v0,0x10fc
li a1,0x1c
or a0,s7,zero
sw t9,0x50(sp)
sw v1,0x10(sp)
jalr t9
_or a2,s8,zero
lw a0,0x0(s7)
or v1,v0,zero
lbu v0,0x51(a0)
bne v0,zero,0x0010f73c
_lw gp,0x38(sp)
li v0,0x18
lw a0,0x68(s7)
mul a1,v1,v0
addu v0,a1,a0
li a0,-0x3
sb a0,0x1(v0)
lw a0,0x8c(sp)
sw a0,0x10(v0)
lw v0,0x9c(sp)
or a2,s8,zero
lw t9,-0x7cc8(gp)
or a1,s1,zero
lw a3,0x78(sp)
or a0,s0,zero
sw v0,0x10(sp)
li v0,-0x1
addiu t9,t9,-0x874
sw v1,0x64(sp)
bal 0x000ef78c
_sw v0,0x14(sp)
li a3,0x4
lw v0,0x80(sp)
slti v0,v0,0x2
beq v0,zero,0x0010ed48
_lw v1,0x64(sp)
lw a0,0x7c(sp)
li v0,0x44
b 0x0010ed48
_movz a3,v0,a0
lw v1,0x5c(sp)
addiu t9,v0,0x10fc
li a1,0x1f
or a2,s8,zero
sw t9,0x50(sp)
sw v1,0x10(sp)
jalr t9
_or a0,s7,zero
lw gp,0x38(sp)
b 0x0010f73c
_or v1,v0,zero
or a3,a2,zero
lw t9,0x50(sp)
lw a2,0x5c(sp)
li a1,0x80
sw zero,0x10(sp)
jalr t9
_or a0,s7,zero
b 0x0010f270
_lw gp,0x38(sp)
or a2,s8,zero
sw zero,0x20(sp)
li v0,0x6
b 0x0010edf0
_sw zero,0x1c(sp)
lw v0,0x7c(sp)
or a2,zero,zero
lw t9,-0x7d58(gp)
or a1,s1,zero
lw a3,0x74(sp)
or a0,s0,zero
sw v0,0x14(sp)
lw v0,0x54(sp)
addiu t9,t9,-0x641c
bal 0x00109be4
_sw v0,0x10(sp)
li v0,0x2
lw v1,0x60(sp)
beq v1,v0,0x0010f8f8
_lw gp,0x38(sp)
lw a3,0x78(sp)
li v0,0x4
sw zero,0x20(sp)
or a2,s8,zero
sw zero,0x1c(sp)
lw t9,-0x7d60(gp)
or a1,s1,zero
sw v0,0x18(sp)
or a0,s0,zero
lw v0,0x9c(sp)
addiu t9,t9,0x2940
sw v0,0x14(sp)
lw v0,0x74(sp)
jalr t9
_sw v0,0x10(sp)
lw v0,0x0(s0)
lw v0,0x24(v0)
andi v0,v0,0x4000
beq v0,zero,0x0010e350
_lw gp,0x38(sp)
lw v0,0x7c(sp)
or a2,s3,zero
lw t9,-0x7d58(gp)
or a1,s1,zero
lw a3,0x5c(sp)
or a0,s0,zero
sw v0,0x14(sp)
lw v0,0x54(sp)
addiu t9,t9,-0x3808
bal 0x0010c7f8
_sw v0,0x10(sp)
b 0x0010e350
_lw gp,0x38(sp)
bne v0,zero,0x0010e420
_lw v0,0xa4(sp)
lw v0,0x70(s0)
beq v0,zero,0x0010e41c
_lw t9,-0x7d5c(gp)
addiu t9,t9,0x4d0c
jalr t9
_or a0,s0,zero
b 0x0010e41c
_lw gp,0x38(sp)
lw v1,-0x7fd8(gp)
b 0x0010edc4
_addiu v1,v1,0xfbc
or s0,s3,zero
or s3,s4,zero
b 0x0010e344
_lw s4,0x50(sp)
lw a3,0x78(sp)
or a2,s8,zero
sw zero,0x20(sp)
li v0,0x6
b 0x0010f844
_sw zero,0x1c(sp)
lw v0,0x4(zero)
teq zero,zero
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nvoid FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)\n\n{\n  byte *pbVar1;\n  code cVar2;\n  char cVar3;\n  byte bVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int iVar8;\n  int ******ppppppiVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  code *pcVar13;\n  int *******pppppppiVar14;\n  byte *pbVar15;\n  int *******pppppppiVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  short *psVar19;\n  code *pcVar20;\n  undefined4 uVar21;\n  int ******ppppppiVar22;\n  uint uVar23;\n  byte *pbVar24;\n  int *******unaff_s0;\n  uint uVar25;\n  code *unaff_s1;\n  int ******ppppppiVar26;\n  uint *puVar27;\n  code *pcVar28;\n  code *unaff_s5;\n  code *pcVar29;\n  int *******unaff_s7;\n  int ******unaff_s8;\n  int ******ppppppiVar30;\n  int local_f8;\n  int local_f4;\n  code *local_f0;\n  code *local_ec;\n  int ******local_e8;\n  int ******local_e4;\n  int *******local_e0;\n  int ******local_dc;\n  code *local_d8;\n  int ******local_d4;\n  int ******local_d0;\n  int ******local_cc;\n  int ******local_c8;\n  code *local_c4;\n  int ******local_c0;\n  int local_bc;\n  code *local_b8;\n  int *****local_b4;\n  int local_ac;\n  code *local_a8;\n  code *local_a4;\n  int ******local_a0;\n  int ******local_9c;\n  code *local_98;\n  int local_94;\n  int *******local_90;\n  code *local_8c;\n  int local_88;\n  uint local_64;\n  int local_60;\n  int ******local_5c;\n  int *******local_58;\n  int *******local_54;\n  int local_50;\n  int ******local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int ******local_34;\n  int ******local_30;\n  int local_2c;\n  \n  puVar6 = PTR___stack_chk_guard_00190e24;\n  local_f8 = param_6;\n  ppppppiVar26 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_f4 = param_7;\n  local_60 = 0;\n  local_5c = (int ******)0x0;\n  local_58 = (int *******)0x0;\n  local_e8 = param_8;\n  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;\n  unaff_s1 = (code *)FUN_00109b30();\n  if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = param_1;\n  if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n  param_1 = unaff_s0;\n  if (param_3 != (int *)0x0) goto LAB_0010d64c;\n  do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );\n}\n\n" comment (function_definition "void FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)\n\n{\n  byte *pbVar1;\n  code cVar2;\n  char cVar3;\n  byte bVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int iVar8;\n  int ******ppppppiVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  code *pcVar13;\n  int *******pppppppiVar14;\n  byte *pbVar15;\n  int *******pppppppiVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  short *psVar19;\n  code *pcVar20;\n  undefined4 uVar21;\n  int ******ppppppiVar22;\n  uint uVar23;\n  byte *pbVar24;\n  int *******unaff_s0;\n  uint uVar25;\n  code *unaff_s1;\n  int ******ppppppiVar26;\n  uint *puVar27;\n  code *pcVar28;\n  code *unaff_s5;\n  code *pcVar29;\n  int *******unaff_s7;\n  int ******unaff_s8;\n  int ******ppppppiVar30;\n  int local_f8;\n  int local_f4;\n  code *local_f0;\n  code *local_ec;\n  int ******local_e8;\n  int ******local_e4;\n  int *******local_e0;\n  int ******local_dc;\n  code *local_d8;\n  int ******local_d4;\n  int ******local_d0;\n  int ******local_cc;\n  int ******local_c8;\n  code *local_c4;\n  int ******local_c0;\n  int local_bc;\n  code *local_b8;\n  int *****local_b4;\n  int local_ac;\n  code *local_a8;\n  code *local_a4;\n  int ******local_a0;\n  int ******local_9c;\n  code *local_98;\n  int local_94;\n  int *******local_90;\n  code *local_8c;\n  int local_88;\n  uint local_64;\n  int local_60;\n  int ******local_5c;\n  int *******local_58;\n  int *******local_54;\n  int local_50;\n  int ******local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int ******local_34;\n  int ******local_30;\n  int local_2c;\n  \n  puVar6 = PTR___stack_chk_guard_00190e24;\n  local_f8 = param_6;\n  ppppppiVar26 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_f4 = param_7;\n  local_60 = 0;\n  local_5c = (int ******)0x0;\n  local_58 = (int *******)0x0;\n  local_e8 = param_8;\n  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;\n  unaff_s1 = (code *)FUN_00109b30();\n  if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = param_1;\n  if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n  param_1 = unaff_s0;\n  if (param_3 != (int *)0x0) goto LAB_0010d64c;\n  do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );\n}" primitive_type (function_declarator "FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)" identifier (parameter_list "(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)" ( (parameter_declaration "int *******param_1" primitive_type (pointer_declarator "*******param_1" * (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier)))))))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "int ******param_8" primitive_type (pointer_declarator "******param_8" * (pointer_declarator "*****param_8" * (pointer_declarator "****param_8" * (pointer_declarator "***param_8" * (pointer_declarator "**param_8" * (pointer_declarator "*param_8" * identifier))))))) ))) (compound_statement "{\n  byte *pbVar1;\n  code cVar2;\n  char cVar3;\n  byte bVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int iVar8;\n  int ******ppppppiVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  code *pcVar13;\n  int *******pppppppiVar14;\n  byte *pbVar15;\n  int *******pppppppiVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  short *psVar19;\n  code *pcVar20;\n  undefined4 uVar21;\n  int ******ppppppiVar22;\n  uint uVar23;\n  byte *pbVar24;\n  int *******unaff_s0;\n  uint uVar25;\n  code *unaff_s1;\n  int ******ppppppiVar26;\n  uint *puVar27;\n  code *pcVar28;\n  code *unaff_s5;\n  code *pcVar29;\n  int *******unaff_s7;\n  int ******unaff_s8;\n  int ******ppppppiVar30;\n  int local_f8;\n  int local_f4;\n  code *local_f0;\n  code *local_ec;\n  int ******local_e8;\n  int ******local_e4;\n  int *******local_e0;\n  int ******local_dc;\n  code *local_d8;\n  int ******local_d4;\n  int ******local_d0;\n  int ******local_cc;\n  int ******local_c8;\n  code *local_c4;\n  int ******local_c0;\n  int local_bc;\n  code *local_b8;\n  int *****local_b4;\n  int local_ac;\n  code *local_a8;\n  code *local_a4;\n  int ******local_a0;\n  int ******local_9c;\n  code *local_98;\n  int local_94;\n  int *******local_90;\n  code *local_8c;\n  int local_88;\n  uint local_64;\n  int local_60;\n  int ******local_5c;\n  int *******local_58;\n  int *******local_54;\n  int local_50;\n  int ******local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int ******local_34;\n  int ******local_30;\n  int local_2c;\n  \n  puVar6 = PTR___stack_chk_guard_00190e24;\n  local_f8 = param_6;\n  ppppppiVar26 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_f4 = param_7;\n  local_60 = 0;\n  local_5c = (int ******)0x0;\n  local_58 = (int *******)0x0;\n  local_e8 = param_8;\n  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;\n  unaff_s1 = (code *)FUN_00109b30();\n  if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = param_1;\n  if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n  param_1 = unaff_s0;\n  if (param_3 != (int *)0x0) goto LAB_0010d64c;\n  do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "code cVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int ******ppppppiVar9;" primitive_type (pointer_declarator "******ppppppiVar9" * (pointer_declarator "*****ppppppiVar9" * (pointer_declarator "****ppppppiVar9" * (pointer_declarator "***ppppppiVar9" * (pointer_declarator "**ppppppiVar9" * (pointer_declarator "*ppppppiVar9" * identifier)))))) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int *******pppppppiVar14;" primitive_type (pointer_declarator "*******pppppppiVar14" * (pointer_declarator "******pppppppiVar14" * (pointer_declarator "*****pppppppiVar14" * (pointer_declarator "****pppppppiVar14" * (pointer_declarator "***pppppppiVar14" * (pointer_declarator "**pppppppiVar14" * (pointer_declarator "*pppppppiVar14" * identifier))))))) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int *******pppppppiVar16;" primitive_type (pointer_declarator "*******pppppppiVar16" * (pointer_declarator "******pppppppiVar16" * (pointer_declarator "*****pppppppiVar16" * (pointer_declarator "****pppppppiVar16" * (pointer_declarator "***pppppppiVar16" * (pointer_declarator "**pppppppiVar16" * (pointer_declarator "*pppppppiVar16" * identifier))))))) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "short *psVar19;" (sized_type_specifier "short" short) (pointer_declarator "*psVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "int ******ppppppiVar22;" primitive_type (pointer_declarator "******ppppppiVar22" * (pointer_declarator "*****ppppppiVar22" * (pointer_declarator "****ppppppiVar22" * (pointer_declarator "***ppppppiVar22" * (pointer_declarator "**ppppppiVar22" * (pointer_declarator "*ppppppiVar22" * identifier)))))) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "int *******unaff_s0;" primitive_type (pointer_declarator "*******unaff_s0" * (pointer_declarator "******unaff_s0" * (pointer_declarator "*****unaff_s0" * (pointer_declarator "****unaff_s0" * (pointer_declarator "***unaff_s0" * (pointer_declarator "**unaff_s0" * (pointer_declarator "*unaff_s0" * identifier))))))) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "code *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int ******ppppppiVar26;" primitive_type (pointer_declarator "******ppppppiVar26" * (pointer_declarator "*****ppppppiVar26" * (pointer_declarator "****ppppppiVar26" * (pointer_declarator "***ppppppiVar26" * (pointer_declarator "**ppppppiVar26" * (pointer_declarator "*ppppppiVar26" * identifier)))))) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "code *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "int *******unaff_s7;" primitive_type (pointer_declarator "*******unaff_s7" * (pointer_declarator "******unaff_s7" * (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier))))))) ;) (declaration "int ******unaff_s8;" primitive_type (pointer_declarator "******unaff_s8" * (pointer_declarator "*****unaff_s8" * (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)))))) ;) (declaration "int ******ppppppiVar30;" primitive_type (pointer_declarator "******ppppppiVar30" * (pointer_declarator "*****ppppppiVar30" * (pointer_declarator "****ppppppiVar30" * (pointer_declarator "***ppppppiVar30" * (pointer_declarator "**ppppppiVar30" * (pointer_declarator "*ppppppiVar30" * identifier)))))) ;) (declaration "int local_f8;" primitive_type identifier ;) (declaration "int local_f4;" primitive_type identifier ;) (declaration "code *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "code *local_ec;" type_identifier (pointer_declarator "*local_ec" * identifier) ;) (declaration "int ******local_e8;" primitive_type (pointer_declarator "******local_e8" * (pointer_declarator "*****local_e8" * (pointer_declarator "****local_e8" * (pointer_declarator "***local_e8" * (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier)))))) ;) (declaration "int ******local_e4;" primitive_type (pointer_declarator "******local_e4" * (pointer_declarator "*****local_e4" * (pointer_declarator "****local_e4" * (pointer_declarator "***local_e4" * (pointer_declarator "**local_e4" * (pointer_declarator "*local_e4" * identifier)))))) ;) (declaration "int *******local_e0;" primitive_type (pointer_declarator "*******local_e0" * (pointer_declarator "******local_e0" * (pointer_declarator "*****local_e0" * (pointer_declarator "****local_e0" * (pointer_declarator "***local_e0" * (pointer_declarator "**local_e0" * (pointer_declarator "*local_e0" * identifier))))))) ;) (declaration "int ******local_dc;" primitive_type (pointer_declarator "******local_dc" * (pointer_declarator "*****local_dc" * (pointer_declarator "****local_dc" * (pointer_declarator "***local_dc" * (pointer_declarator "**local_dc" * (pointer_declarator "*local_dc" * identifier)))))) ;) (declaration "code *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "int ******local_d4;" primitive_type (pointer_declarator "******local_d4" * (pointer_declarator "*****local_d4" * (pointer_declarator "****local_d4" * (pointer_declarator "***local_d4" * (pointer_declarator "**local_d4" * (pointer_declarator "*local_d4" * identifier)))))) ;) (declaration "int ******local_d0;" primitive_type (pointer_declarator "******local_d0" * (pointer_declarator "*****local_d0" * (pointer_declarator "****local_d0" * (pointer_declarator "***local_d0" * (pointer_declarator "**local_d0" * (pointer_declarator "*local_d0" * identifier)))))) ;) (declaration "int ******local_cc;" primitive_type (pointer_declarator "******local_cc" * (pointer_declarator "*****local_cc" * (pointer_declarator "****local_cc" * (pointer_declarator "***local_cc" * (pointer_declarator "**local_cc" * (pointer_declarator "*local_cc" * identifier)))))) ;) (declaration "int ******local_c8;" primitive_type (pointer_declarator "******local_c8" * (pointer_declarator "*****local_c8" * (pointer_declarator "****local_c8" * (pointer_declarator "***local_c8" * (pointer_declarator "**local_c8" * (pointer_declarator "*local_c8" * identifier)))))) ;) (declaration "code *local_c4;" type_identifier (pointer_declarator "*local_c4" * identifier) ;) (declaration "int ******local_c0;" primitive_type (pointer_declarator "******local_c0" * (pointer_declarator "*****local_c0" * (pointer_declarator "****local_c0" * (pointer_declarator "***local_c0" * (pointer_declarator "**local_c0" * (pointer_declarator "*local_c0" * identifier)))))) ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "code *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "int *****local_b4;" primitive_type (pointer_declarator "*****local_b4" * (pointer_declarator "****local_b4" * (pointer_declarator "***local_b4" * (pointer_declarator "**local_b4" * (pointer_declarator "*local_b4" * identifier))))) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "code *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "code *local_a4;" type_identifier (pointer_declarator "*local_a4" * identifier) ;) (declaration "int ******local_a0;" primitive_type (pointer_declarator "******local_a0" * (pointer_declarator "*****local_a0" * (pointer_declarator "****local_a0" * (pointer_declarator "***local_a0" * (pointer_declarator "**local_a0" * (pointer_declarator "*local_a0" * identifier)))))) ;) (declaration "int ******local_9c;" primitive_type (pointer_declarator "******local_9c" * (pointer_declarator "*****local_9c" * (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)))))) ;) (declaration "code *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int *******local_90;" primitive_type (pointer_declarator "*******local_90" * (pointer_declarator "******local_90" * (pointer_declarator "*****local_90" * (pointer_declarator "****local_90" * (pointer_declarator "***local_90" * (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier))))))) ;) (declaration "code *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int ******local_5c;" primitive_type (pointer_declarator "******local_5c" * (pointer_declarator "*****local_5c" * (pointer_declarator "****local_5c" * (pointer_declarator "***local_5c" * (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)))))) ;) (declaration "int *******local_58;" primitive_type (pointer_declarator "*******local_58" * (pointer_declarator "******local_58" * (pointer_declarator "*****local_58" * (pointer_declarator "****local_58" * (pointer_declarator "***local_58" * (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier))))))) ;) (declaration "int *******local_54;" primitive_type (pointer_declarator "*******local_54" * (pointer_declarator "******local_54" * (pointer_declarator "*****local_54" * (pointer_declarator "****local_54" * (pointer_declarator "***local_54" * (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier))))))) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int ******local_4c;" primitive_type (pointer_declarator "******local_4c" * (pointer_declarator "*****local_4c" * (pointer_declarator "****local_4c" * (pointer_declarator "***local_4c" * (pointer_declarator "**local_4c" * (pointer_declarator "*local_4c" * identifier)))))) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int ******local_34;" primitive_type (pointer_declarator "******local_34" * (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))))) ;) (declaration "int ******local_30;" primitive_type (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)))))) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar6 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar6 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_f8 = param_6;" (assignment_expression "local_f8 = param_6" identifier = identifier) ;) (expression_statement "ppppppiVar26 = *param_1;" (assignment_expression "ppppppiVar26 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_f4 = param_7;" (assignment_expression "local_f4 = param_7" identifier = identifier) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = (int ******)0x0;" (assignment_expression "local_5c = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e8 = param_8;" (assignment_expression "local_e8 = param_8" identifier = identifier) ;) (if_statement "if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;" if (parenthesized_expression "((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))" ( (binary_expression "(param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0')" (parenthesized_expression "(param_1[9] != (int ******)0x0)" ( (binary_expression "param_1[9] != (int ******)0x0" (subscript_expression "param_1[9]" identifier [ number_literal ]) != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "(*(char *)((int)ppppppiVar26 + 0x51) != '\0')" ( (binary_expression "*(char *)((int)ppppppiVar26 + 0x51) != '\0'" (pointer_expression "*(char *)((int)ppppppiVar26 + 0x51)" * (cast_expression "(char *)((int)ppppppiVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar26 + 0x51)" ( (binary_expression "(int)ppppppiVar26 + 0x51" (cast_expression "(int)ppppppiVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0010d4a8;" goto statement_identifier ;)) (expression_statement "unaff_s1 = (code *)FUN_00109b30();" (assignment_expression "unaff_s1 = (code *)FUN_00109b30()" identifier = (cast_expression "(code *)FUN_00109b30()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00109b30()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }" if (parenthesized_expression "(unaff_s1 != (code *)0x0)" ( (binary_expression "unaff_s1 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }" { (if_statement "if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" if (parenthesized_expression "(*(int *)(unaff_s1 + 0x48) == 0)" ( (binary_expression "*(int *)(unaff_s1 + 0x48) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x48)" * (cast_expression "(int *)(unaff_s1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x48)" ( (binary_expression "unaff_s1 + 0x48" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      local_b4 = (int *****)0xfff0bdc0;\n    }" { (expression_statement "local_b4 = (int *****)0xfff0bdc0;" (assignment_expression "local_b4 = (int *****)0xfff0bdc0" identifier = (cast_expression "(int *****)0xfff0bdc0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" else (compound_statement "{\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" { (expression_statement "local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);" (assignment_expression "local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" identifier = (cast_expression "(int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))))) ;) }))) (expression_statement "local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);" (assignment_expression "local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" identifier = (cast_expression "(int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2620))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2620)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2620)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2620)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2620" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,0x76,param_3,&local_64)" ( identifier , identifier , number_literal , identifier , (pointer_expression "&local_64" & identifier) ))))) ;) (expression_statement "local_bc = *(int *)(unaff_s1 + 0xc);" (assignment_expression "local_bc = *(int *)(unaff_s1 + 0xc)" identifier = (pointer_expression "*(int *)(unaff_s1 + 0xc)" * (cast_expression "(int *)(unaff_s1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0xc)" ( (binary_expression "unaff_s1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" { (expression_statement "param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);" (assignment_expression "param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -14000))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -14000)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -14000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -14000)" ( (binary_expression "PTR_LAB_00190bc4 + -14000" identifier + number_literal) )))) )) (argument_list "(param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "PTR_LAB_00190958 + 0x6b68" identifier + number_literal) )))) ;) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) })) (expression_statement "iVar8 = FUN_000f89f8(param_1,unaff_s1);" (assignment_expression "iVar8 = FUN_000f89f8(param_1,unaff_s1)" identifier = (call_expression "FUN_000f89f8(param_1,unaff_s1)" identifier (argument_list "(param_1,unaff_s1)" ( identifier , identifier )))) ;) (if_statement "if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }" if (parenthesized_expression "((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       ))" ( (binary_expression "(iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )" ( (comma_expression "local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0" (assignment_expression "local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x73d8))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x73d8)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x73d8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x73d8)" ( (binary_expression "PTR_LAB_00190bc4 + -0x73d8" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,local_64)" ( identifier , identifier , identifier )))) , (binary_expression "local_ac == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }" { (expression_statement "local_d4 = param_1[10];" (assignment_expression "local_d4 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "local_c8 = (int ******)((int)local_d4 + 1);" (assignment_expression "local_c8 = (int ******)((int)local_d4 + 1)" identifier = (cast_expression "(int ******)((int)local_d4 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_d4 + 1)" ( (binary_expression "(int)local_d4 + 1" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_1[10] = local_c8;" (assignment_expression "param_1[10] = local_c8" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" identifier = (pointer_expression "*(code **)(unaff_s1 + 8)" * (cast_expression "(code **)(unaff_s1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 8)" ( (binary_expression "unaff_s1 + 8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = local_d4;" (assignment_expression "unaff_s8 = local_d4" identifier = identifier) ;) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }" { (expression_statement "unaff_s5 = (code *)0x0;" (assignment_expression "unaff_s5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar13 != (code *)0x0) goto LAB_0010d700;" if (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d700;" goto statement_identifier ;)) (expression_statement "local_90 = (int *******)0x0;" (assignment_expression "local_90 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" else (if_statement "if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" if (parenthesized_expression "(pcVar13 == (code *)0x0)" ( (binary_expression "pcVar13 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }" { (expression_statement "unaff_s5 = (code *)0x0;" (assignment_expression "unaff_s5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_90 = (int *******)0x0;" (assignment_expression "local_90 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" else (compound_statement "{\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" { (expression_statement "cVar2 = pcVar13[0x37];" (assignment_expression "cVar2 = pcVar13[0x37]" identifier = (subscript_expression "pcVar13[0x37]" identifier [ number_literal ])) ;) (expression_statement "unaff_s5 = pcVar13;" (assignment_expression "unaff_s5 = pcVar13" identifier = identifier) ;) (while_statement "while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }" while (parenthesized_expression "((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)))" ( (parenthesized_expression "(((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))" ( (binary_expression "((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)" (binary_expression "((byte)cVar2 & 0xc0) != 0x80" (parenthesized_expression "((byte)cVar2 & 0xc0)" ( (binary_expression "(byte)cVar2 & 0xc0" (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) && (parenthesized_expression "(unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)" ( (comma_expression "unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0" (assignment_expression "unaff_s5 = *(code **)(unaff_s5 + 0x14)" identifier = (pointer_expression "*(code **)(unaff_s5 + 0x14)" * (cast_expression "(code **)(unaff_s5 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s5 + 0x14)" ( (binary_expression "unaff_s5 + 0x14" identifier + number_literal) ))))) , (binary_expression "unaff_s5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) )) (compound_statement "{\n          cVar2 = unaff_s5[0x37];\n        }" { (expression_statement "cVar2 = unaff_s5[0x37];" (assignment_expression "cVar2 = unaff_s5[0x37]" identifier = (subscript_expression "unaff_s5[0x37]" identifier [ number_literal ])) ;) })) (labeled_statement "LAB_0010d700:\n        ppppppiVar30 = local_c8;" statement_identifier : (expression_statement "ppppppiVar30 = local_c8;" (assignment_expression "ppppppiVar30 = local_c8" identifier = identifier) ;)) (do_statement "do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);" do (compound_statement "{\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        }" { (if_statement "if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }" if (parenthesized_expression "(unaff_s5 == pcVar13)" ( (binary_expression "unaff_s5 == pcVar13" identifier == identifier) )) (compound_statement "{\n            unaff_s8 = ppppppiVar30;\n          }" { (expression_statement "unaff_s8 = ppppppiVar30;" (assignment_expression "unaff_s8 = ppppppiVar30" identifier = identifier) ;) })) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 + 1)" ( (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_1[10] = ppppppiVar30;" (assignment_expression "param_1[10] = ppppppiVar30" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar13 = *(code **)(pcVar13 + 0x14);" (assignment_expression "pcVar13 = *(code **)(pcVar13 + 0x14)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x14)" * (cast_expression "(code **)(pcVar13 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x14)" ( (binary_expression "pcVar13 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);" (assignment_expression "local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30)" identifier = (cast_expression "(int *******)(~(uint)local_d4 + (int)ppppppiVar30)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(~(uint)local_d4 + (int)ppppppiVar30)" ( (binary_expression "~(uint)local_d4 + (int)ppppppiVar30" (unary_expression "~(uint)local_d4" ~ (cast_expression "(uint)local_d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) while (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))))) (if_statement "if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }" if (parenthesized_expression "(param_8 != (int ******)0x0)" ( (binary_expression "param_8 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }" { (expression_statement "unaff_s8 = (int ******)param_8[7];" (assignment_expression "unaff_s8 = (int ******)param_8[7]" identifier = (cast_expression "(int ******)param_8[7]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_8[7]" identifier [ number_literal ]))) ;) (expression_statement "local_c8 = (int ******)param_8[8];" (assignment_expression "local_c8 = (int ******)param_8[8]" identifier = (cast_expression "(int ******)param_8[8]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_8[8]" identifier [ number_literal ]))) ;) (expression_statement "param_1[10] = local_d4;" (assignment_expression "param_1[10] = local_d4" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "*(int *******)(param_2 + 0x30) = unaff_s8;" (assignment_expression "*(int *******)(param_2 + 0x30) = unaff_s8" (pointer_expression "*(int *******)(param_2 + 0x30)" * (cast_expression "(int *******)(param_2 + 0x30)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);" (assignment_expression "local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51)" identifier = (binary_expression "(code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)ppppppiVar26 + 0x51)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar26 + 0x51)" ( (binary_expression "(int)ppppppiVar26 + 0x51" (cast_expression "(int)ppppppiVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "unaff_s7 = local_90;" (assignment_expression "unaff_s7 = local_90" identifier = identifier) ;) (if_statement "if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }" if (parenthesized_expression "((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0))" ( (binary_expression "(local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)" (parenthesized_expression "(local_a8 == (code *)0x0)" ( (binary_expression "local_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)" ( (comma_expression "local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0" (assignment_expression "local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" identifier = (cast_expression "(code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x854)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x854)" ( (binary_expression "PTR_LAB_00190ba8 + 0x854" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26)" ( identifier ))))) , (binary_expression "local_ec != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }" { (expression_statement "local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;" (assignment_expression "local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4" identifier = (binary_expression "local_ec + *(short *)(unaff_s1 + 0x2a) * 4" identifier + (binary_expression "*(short *)(unaff_s1 + 0x2a) * 4" (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "local_98 = local_a4 + (int)local_90 * 4;" (assignment_expression "local_98 = local_a4 + (int)local_90 * 4" identifier = (binary_expression "local_a4 + (int)local_90 * 4" identifier + (binary_expression "(int)local_90 * 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "(*(code *)PTR_memset_00190d58)(local_98,1);" (call_expression "(*(code *)PTR_memset_00190d58)(local_98,1)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_98,1)" ( identifier , number_literal ))) ;) (expression_statement "(local_98 + (int)local_90)[1] = (code)0x0;" (assignment_expression "(local_98 + (int)local_90)[1] = (code)0x0" (subscript_expression "(local_98 + (int)local_90)[1]" (parenthesized_expression "(local_98 + (int)local_90)" ( (binary_expression "local_98 + (int)local_90" identifier + (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier)) )) [ number_literal ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = local_ec;" (assignment_expression "pcVar13 = local_ec" identifier = identifier) ;) (do_statement "do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));" do (compound_statement "{\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          }" { (expression_statement "*(undefined4 *)pcVar13 = 0xffffffff;" (assignment_expression "*(undefined4 *)pcVar13 = 0xffffffff" (pointer_expression "*(undefined4 *)pcVar13" * (cast_expression "(undefined4 *)pcVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = pcVar13 + 4;" (assignment_expression "pcVar13 = pcVar13 + 4" identifier = (binary_expression "pcVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "iVar8 < *(short *)(unaff_s1 + 0x2a)" identifier < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) ;) })) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_4c = param_8;" (assignment_expression "local_4c = param_8" identifier = identifier) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0x2000000;" (assignment_expression "local_3c = 0x2000000" identifier = number_literal) ;) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" identifier = identifier) ;) (expression_statement "local_50 = param_2;" (assignment_expression "local_50 = param_2" identifier = identifier) ;) (if_statement "if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" if (parenthesized_expression "(*param_3 < 1)" ( (binary_expression "*param_3 < 1" (pointer_expression "*param_3" * identifier) < number_literal) )) (compound_statement "{\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }" { (expression_statement "local_d8 = (code *)0x0;" (assignment_expression "local_d8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b8 = (code *)0x0;" (assignment_expression "local_b8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" else (compound_statement "{\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" { (expression_statement "puVar27 = (uint *)(param_3 + 1);" (assignment_expression "puVar27 = (uint *)(param_3 + 1)" identifier = (cast_expression "(uint *)(param_3 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )))) ;) (expression_statement "pppppppiVar14 = (int *******)&local_54;" (assignment_expression "pppppppiVar14 = (int *******)&local_54" identifier = (cast_expression "(int *******)&local_54" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_54" & identifier))) ;) (expression_statement "unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);" (assignment_expression "unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18)" identifier = (cast_expression "(int *******)(PTR_DAT_00190b94 + -0x3c18)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_DAT_00190b94 + -0x3c18)" ( (binary_expression "PTR_DAT_00190b94 + -0x3c18" identifier + number_literal) )))) ;) (expression_statement "ppppppiVar30 = (int ******)0x0;" (assignment_expression "ppppppiVar30 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_d8 = (code *)0x0;" (assignment_expression "local_d8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);" (assignment_expression "local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280)" identifier = (cast_expression "(int ******)(PTR_LAB_00190bdc + 0x6280)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x6280)" ( (binary_expression "PTR_LAB_00190bdc + 0x6280" identifier + number_literal) )))) ;) (expression_statement "local_b8 = (code *)0x0;" (assignment_expression "local_b8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);" (assignment_expression "local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x4b2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x4b2c)" ( (binary_expression "PTR_LAB_00190ba4 + -0x4b2c" identifier + number_literal) )))) ;) (expression_statement "local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);" (assignment_expression "local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" identifier = (cast_expression "(int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c" identifier + number_literal) )))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90)" identifier = (cast_expression "(code *)(PTR_LAB_00190bdc + 0x5b90)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x5b90)" ( (binary_expression "PTR_LAB_00190bdc + 0x5b90" identifier + number_literal) )))) ;) (do_statement "do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);" do (compound_statement "{\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          }" { (expression_statement "pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);" (assignment_expression "pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27)" identifier = (cast_expression "(code *)(*(code *)local_e4)(pppppppiVar14,*puVar27)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)local_e4)(pppppppiVar14,*puVar27)" (parenthesized_expression "(*(code *)local_e4)" ( (pointer_expression "*(code *)local_e4" * (cast_expression "(code *)local_e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppiVar14,*puVar27)" ( identifier , (pointer_expression "*puVar27" * identifier) ))))) ;) (expression_statement "pcVar29 = unaff_s1;" (assignment_expression "pcVar29 = unaff_s1" identifier = identifier) ;) (if_statement "if (pcVar20 != (code *)0x0) goto LAB_0010d60c;" if (parenthesized_expression "(pcVar20 != (code *)0x0)" ( (binary_expression "pcVar20 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (expression_statement "pbVar24 = (byte *)puVar27[1];" (assignment_expression "pbVar24 = (byte *)puVar27[1]" identifier = (cast_expression "(byte *)puVar27[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[1]" identifier [ number_literal ]))) ;) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }" { (expression_statement "puVar18 = *(undefined4 **)(unaff_s1 + 4);" (assignment_expression "puVar18 = *(undefined4 **)(unaff_s1 + 4)" identifier = (pointer_expression "*(undefined4 **)(unaff_s1 + 4)" * (cast_expression "(undefined4 **)(unaff_s1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 4)" ( (binary_expression "unaff_s1 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);" do (compound_statement "{\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              }" { (expression_statement "pbVar15 = (byte *)*puVar18;" (assignment_expression "pbVar15 = (byte *)*puVar18" identifier = (cast_expression "(byte *)*puVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (expression_statement "uVar23 = (uint)*pbVar15;" (assignment_expression "uVar23 = (uint)*pbVar15" identifier = (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar17 = pbVar24;" (assignment_expression "pbVar17 = pbVar24" identifier = identifier) ;) (if_statement "if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }" if (parenthesized_expression "(*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))" ( (binary_expression "*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24)" (pointer_expression "*(char *)((int)unaff_s7 + uVar23)" * (cast_expression "(char *)((int)unaff_s7 + uVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + uVar23)" ( (binary_expression "(int)unaff_s7 + uVar23" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) == (pointer_expression "*(char *)((int)unaff_s7 + (uint)*pbVar24)" * (cast_expression "(char *)((int)unaff_s7 + (uint)*pbVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (uint)*pbVar24)" ( (binary_expression "(int)unaff_s7 + (uint)*pbVar24" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)*pbVar24" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) )) (compound_statement "{\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }" { (do_statement "do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));" do (compound_statement "{\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  }" { (if_statement "if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (compound_statement "{\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }" { (if_statement "if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" if (parenthesized_expression "(pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28))" ( (binary_expression "pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)" identifier == (cast_expression "(code *)(int)*(short *)(unaff_s1 + 0x28)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(unaff_s1 + 0x28)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x28)" * (cast_expression "(short *)(unaff_s1 + 0x28)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x28)" ( (binary_expression "unaff_s1 + 0x28" identifier + number_literal) ))))))) )) (compound_statement "{\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }" { (expression_statement "local_b8 = (code *)*puVar27;" (assignment_expression "local_b8 = (code *)*puVar27" identifier = (cast_expression "(code *)*puVar27" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar27" * identifier))) ;) (expression_statement "local_d8 = (code *)0x1;" (assignment_expression "local_d8 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" else (if_statement "if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" if (parenthesized_expression "((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0))" ( (binary_expression "(unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)" (parenthesized_expression "(unaff_s5 != (code *)0x0)" ( (binary_expression "unaff_s5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)puVar18 + 0xf) & 1) != 0)" ( (binary_expression "(*(byte *)((int)puVar18 + 0xf) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar18 + 0xf) & 1)" ( (binary_expression "*(byte *)((int)puVar18 + 0xf) & 1" (pointer_expression "*(byte *)((int)puVar18 + 0xf)" * (cast_expression "(byte *)((int)puVar18 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xf)" ( (binary_expression "(int)puVar18 + 0xf" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" { (expression_statement "local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);" (assignment_expression "local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1)" identifier = (cast_expression "(code *)(*(byte *)((int)puVar18 + 0xf) & 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)((int)puVar18 + 0xf) & 1)" ( (binary_expression "*(byte *)((int)puVar18 + 0xf) & 1" (pointer_expression "*(byte *)((int)puVar18 + 0xf)" * (cast_expression "(byte *)((int)puVar18 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xf)" ( (binary_expression "(int)puVar18 + 0xf" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )))) ;) })))) (expression_statement "*(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;" (assignment_expression "*(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30" (pointer_expression "*(int *******)(local_ec + (int)pcVar20 * 4)" * (cast_expression "(int *******)(local_ec + (int)pcVar20 * 4)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ec + (int)pcVar20 * 4)" ( (binary_expression "local_ec + (int)pcVar20 * 4" identifier + (binary_expression "(int)pcVar20 * 4" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (if_statement "if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }" if (parenthesized_expression "((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20)" ( (binary_expression "(int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20" (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) <= (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }" { (expression_statement "pbVar24 = (byte *)puVar27[1];" (assignment_expression "pbVar24 = (byte *)puVar27[1]" identifier = (cast_expression "(byte *)puVar27[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0010d954;" goto statement_identifier ;) })) (expression_statement "iVar8 = *(int *)unaff_s1;" (assignment_expression "iVar8 = *(int *)unaff_s1" identifier = (pointer_expression "*(int *)unaff_s1" * (cast_expression "(int *)unaff_s1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);" (assignment_expression "ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" identifier = (pointer_expression "*(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" * (cast_expression "(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" ( (binary_expression "*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10" (pointer_expression "*(int *)(unaff_s1 + 4)" * (cast_expression "(int *)(unaff_s1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 4)" ( (binary_expression "unaff_s1 + 4" identifier + number_literal) )))) + (binary_expression "(int)pcVar20 * 0x10" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (goto_statement "goto LAB_0010d98c;" goto statement_identifier ;) })) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "pbVar1 = pbVar17 + 1;" (assignment_expression "pbVar1 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar23 = (uint)*pbVar15;" (assignment_expression "uVar23 = (uint)*pbVar15" identifier = (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1))" ( (binary_expression "*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1)" (pointer_expression "*(char *)((int)unaff_s7 + uVar23)" * (cast_expression "(char *)((int)unaff_s7 + uVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + uVar23)" ( (binary_expression "(int)unaff_s7 + uVar23" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) == (pointer_expression "*(char *)((int)unaff_s7 + (uint)*pbVar1)" * (cast_expression "(char *)((int)unaff_s7 + (uint)*pbVar1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (uint)*pbVar1)" ( (binary_expression "(int)unaff_s7 + (uint)*pbVar1" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) )) ;) })) (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar18 + 4;" (assignment_expression "puVar18 = puVar18 + 4" identifier = (binary_expression "puVar18 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20)" ( (binary_expression "(code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20" (cast_expression "(code *)(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) != identifier) )) ;) })) (labeled_statement "LAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" statement_identifier : (if_statement "if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" if (parenthesized_expression "((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0))" ( (binary_expression "(unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)" (parenthesized_expression "(unaff_s5 != (code *)0x0)" ( (binary_expression "unaff_s5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar8 = (*local_c4)(pbVar24), iVar8 == 0)" ( (comma_expression "iVar8 = (*local_c4)(pbVar24), iVar8 == 0" (assignment_expression "iVar8 = (*local_c4)(pbVar24)" identifier = (call_expression "(*local_c4)(pbVar24)" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) (argument_list "(pbVar24)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);" (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x5160))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x5160)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x5160)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x5160)" ( (binary_expression "PTR_LAB_00190bdc + 0x5160" identifier + number_literal) )))) )) (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c" identifier + number_literal) , identifier ))) ;) (expression_statement "*(undefined1 *)((int)param_1 + 0x11) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x11) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x11)" * (cast_expression "(undefined1 *)((int)param_1 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;) }))) (expression_statement "local_b8 = (code *)*puVar27;" (assignment_expression "local_b8 = (code *)*puVar27" identifier = (cast_expression "(code *)*puVar27" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar27" * identifier))) ;) (expression_statement "pcVar20 = (code *)0xffffffff;" (assignment_expression "pcVar20 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = *(int *)unaff_s1;" (assignment_expression "iVar8 = *(int *)unaff_s1" identifier = (pointer_expression "*(int *)unaff_s1" * (cast_expression "(int *)unaff_s1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_d8 = (code *)0x1;" (assignment_expression "local_d8 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppppppiVar9 = local_c0;" (assignment_expression "ppppppiVar9 = local_c0" identifier = identifier) ;) (labeled_statement "LAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);" statement_identifier : (expression_statement "iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);" (assignment_expression "iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" identifier = (call_expression "(*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" ( identifier , number_literal , identifier , identifier , (subscript_expression "ppppppiVar26[4][(int)local_b4 * 4]" (subscript_expression "ppppppiVar26[4]" identifier [ number_literal ]) [ (binary_expression "(int)local_b4 * 4" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) )))) ;)) (if_statement "if (iVar8 == 1) goto LAB_0010d60c;" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (if_statement "if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (compound_statement "{\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }" { (expression_statement "*(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(local_ec + (int)pcVar20 * 4)" * (cast_expression "(undefined4 *)(local_ec + (int)pcVar20 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_ec + (int)pcVar20 * 4)" ( (binary_expression "local_ec + (int)pcVar20 * 4" identifier + (binary_expression "(int)pcVar20 * 4" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = number_literal) ;) })) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 + 1)" ( (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar27 = puVar27 + 5;" (assignment_expression "puVar27 = puVar27 + 5" identifier = (binary_expression "puVar27 + 5" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)ppppppiVar30 < *param_3)" ( (binary_expression "(int)ppppppiVar30 < *param_3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*param_3" * identifier)) )) ;) }))) (expression_statement "iVar8 = *(int *)(unaff_s1 + 0x38);" (assignment_expression "iVar8 = *(int *)(unaff_s1 + 0x38)" identifier = (pointer_expression "*(int *)(unaff_s1 + 0x38)" * (cast_expression "(int *)(unaff_s1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);" (assignment_expression "local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff)" identifier = (cast_expression "(code *)((uint)(local_d8 + (int)local_a8) & 0xff)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(local_d8 + (int)local_a8) & 0xff)" ( (binary_expression "(uint)(local_d8 + (int)local_a8) & 0xff" (call_expression "(uint)(local_d8 + (int)local_a8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_d8 + (int)local_a8)" ( (binary_expression "local_d8 + (int)local_a8" identifier + (cast_expression "(int)local_a8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal) )))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x3768)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x3768)" ( (binary_expression "PTR_LAB_00190ba4 + -0x3768" identifier + number_literal) )))) ;) (expression_statement "*(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);" (assignment_expression "*(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0)" (pointer_expression "*(uint *)(param_2 + 0x40)" * (cast_expression "(uint *)(param_2 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x40)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) )))) = (unary_expression "-(uint)(iVar8 != 0)" - (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) ))))) ;) (expression_statement "*(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);" (assignment_expression "*(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0)" (pointer_expression "*(uint *)(param_2 + 0x44)" * (cast_expression "(uint *)(param_2 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x44)" ( (binary_expression "param_2 + 0x44" identifier + number_literal) )))) = (unary_expression "-(uint)(iVar8 != 0)" - (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) ))))) ;) (expression_statement "local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);" (assignment_expression "local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec)" identifier = (cast_expression "(int ******)(*pcVar13)(*param_1,unaff_s1,local_ec)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcVar13)(*param_1,unaff_s1,local_ec)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*param_1,unaff_s1,local_ec)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier ))))) ;) (if_statement "if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" if (parenthesized_expression "(param_5 == 5)" ( (binary_expression "param_5 == 5" identifier == number_literal) )) (compound_statement "{\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }" { (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" identifier = (pointer_expression "*(code **)(unaff_s1 + 8)" * (cast_expression "(code **)(unaff_s1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 8)" ( (binary_expression "unaff_s1 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" identifier = number_literal) ;) (if_statement "if (pcVar13 != (code *)0x0) goto LAB_0010da68;" if (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010da68;" goto statement_identifier ;)) }) (else_clause "else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" else (compound_statement "{\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" { (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" identifier = (pointer_expression "*(code **)(unaff_s1 + 8)" * (cast_expression "(code **)(unaff_s1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 8)" ( (binary_expression "unaff_s1 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }" if (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }" { (labeled_statement "LAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);" statement_identifier : (expression_statement "local_e4 = (int ******)(uint)((int)local_c0 < 2);" (assignment_expression "local_e4 = (int ******)(uint)((int)local_c0 < 2)" identifier = (cast_expression "(int ******)(uint)((int)local_c0 < 2)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)((int)local_c0 < 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_c0 < 2)" ( (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x56dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x56dc)" ( (binary_expression "PTR_LAB_00190ba4 + -0x56dc" identifier + number_literal) )))) ;) (expression_statement "pcVar29 = local_a4;" (assignment_expression "pcVar29 = local_a4" identifier = identifier) ;) (do_statement "do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);" do (compound_statement "{\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            }" { (if_statement "if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" if (parenthesized_expression "((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))" ( (binary_expression "(((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)))" (parenthesized_expression "(((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5))" ( (binary_expression "((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)" (parenthesized_expression "((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0))" ( (binary_expression "(local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)" (parenthesized_expression "(local_c4 == (code *)0x0)" ( (binary_expression "local_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_e4 != (int ******)0x0)" ( (binary_expression "local_e4 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) && (parenthesized_expression "(pcVar13 != unaff_s5)" ( (binary_expression "pcVar13 != unaff_s5" identifier != identifier) ))) )) && (parenthesized_expression "((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)))" ( (parenthesized_expression "(*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))" ( (binary_expression "*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)" (binary_expression "*(int *)(pcVar13 + 0x24) == 0" (pointer_expression "*(int *)(pcVar13 + 0x24)" * (cast_expression "(int *)(pcVar13 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x24)" ( (binary_expression "pcVar13 + 0x24" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)" ( (comma_expression "iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0" (assignment_expression "iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" identifier = (call_expression "(*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" ( (pointer_expression "*(int *)(pcVar13 + 0x24)" * (cast_expression "(int *)(pcVar13 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x24)" ( (binary_expression "pcVar13 + 0x24" identifier + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (if_statement "if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }" if (parenthesized_expression "(*(short *)(pcVar13 + 0x32) != 0)" ( (binary_expression "*(short *)(pcVar13 + 0x32) != 0" (pointer_expression "*(short *)(pcVar13 + 0x32)" * (cast_expression "(short *)(pcVar13 + 0x32)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x32)" ( (binary_expression "pcVar13 + 0x32" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }" { (do_statement "do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));" do (compound_statement "{\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  }" { (expression_statement "iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);" (assignment_expression "iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" identifier = (cast_expression "(int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" * (cast_expression "(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 4) + iVar10 * 2)" ( (binary_expression "*(int *)(pcVar13 + 4) + iVar10 * 2" (pointer_expression "*(int *)(pcVar13 + 4)" * (cast_expression "(int *)(pcVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 4)" ( (binary_expression "pcVar13 + 4" identifier + number_literal) )))) + (binary_expression "iVar10 * 2" identifier * number_literal)) )))))) ;) (if_statement "if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }" { (expression_statement "uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);" (assignment_expression "uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" identifier = (call_expression "(*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" ( (pointer_expression "*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" * (cast_expression "(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" ( (binary_expression "*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4" (binary_expression "*(int *)(pcVar13 + 0x28) + iVar10 * 0x14" (pointer_expression "*(int *)(pcVar13 + 0x28)" * (cast_expression "(int *)(pcVar13 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x28)" ( (binary_expression "pcVar13 + 0x28" identifier + number_literal) )))) + (binary_expression "iVar10 * 0x14" identifier * number_literal)) + number_literal) )))) , identifier , identifier )))) ;) }) (else_clause "else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" else (compound_statement "{\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" { (expression_statement "uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;" (assignment_expression "uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f" identifier = (binary_expression "~*(uint *)(local_ec + iVar7 * 4) >> 0x1f" (unary_expression "~*(uint *)(local_ec + iVar7 * 4)" ~ (pointer_expression "*(uint *)(local_ec + iVar7 * 4)" * (cast_expression "(uint *)(local_ec + iVar7 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_ec + iVar7 * 4)" ( (binary_expression "local_ec + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) ))))) >> number_literal)) ;) }))) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (if_statement "if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }" { (expression_statement "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "param_1[0xb] = ppppppiVar30;" (assignment_expression "param_1[0xb] = ppppppiVar30" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);" (assignment_expression "param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" ( (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30" (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(pcVar13 + 0x34)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34)" ( (binary_expression "pcVar13 + 0x34" identifier + number_literal) )))) + (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }" if (parenthesized_expression "((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5))" ( (binary_expression "(param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)" (parenthesized_expression "(param_5 == 0xb)" ( (binary_expression "param_5 == 0xb" identifier == number_literal) )) && (parenthesized_expression "(pcVar13[0x36] == (code)0x5)" ( (binary_expression "pcVar13[0x36] == (code)0x5" (subscript_expression "pcVar13[0x36]" identifier [ number_literal ]) == (cast_expression "(code)0x5" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n                        local_60 = 1;\n                      }" { (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" identifier = number_literal) ;) })) (goto_statement "goto LAB_0010dabc;" goto statement_identifier ;) })) }) while (parenthesized_expression "(iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32))" ( (binary_expression "iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32)" identifier < (binary_expression "(int)(uint)*(ushort *)(pcVar13 + 0x32)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(pcVar13 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x32)" ( (binary_expression "pcVar13 + 0x32" identifier + number_literal) ))))) )) ;) })) (labeled_statement "LAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;" statement_identifier : (expression_statement "ppppppiVar30 = (int ******)0x0;" (assignment_expression "ppppppiVar30 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "local_98[iVar8 + 1] = (code)0x0;" (assignment_expression "local_98[iVar8 + 1] = (code)0x0" (subscript_expression "local_98[iVar8 + 1]" identifier [ (binary_expression "iVar8 + 1" identifier + number_literal) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" else (compound_statement "{\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" { (expression_statement "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "param_1[0xb] = ppppppiVar30;" (assignment_expression "param_1[0xb] = ppppppiVar30" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);" (assignment_expression "param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" ( (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30" (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(pcVar13 + 0x34)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34)" ( (binary_expression "pcVar13 + 0x34" identifier + number_literal) )))) + (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;" statement_identifier : (if_statement "if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;" if (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" ( (binary_expression "ppppppiVar30 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010dac8;" goto statement_identifier ;))) }))) (expression_statement "*(int *******)pcVar29 = ppppppiVar30;" (assignment_expression "*(int *******)pcVar29 = ppppppiVar30" (pointer_expression "*(int *******)pcVar29" * (cast_expression "(int *******)pcVar29" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) = identifier) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = *(code **)(pcVar13 + 0x14);" (assignment_expression "pcVar13 = *(code **)(pcVar13 + 0x14)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x14)" * (cast_expression "(code **)(pcVar13 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x14)" ( (binary_expression "pcVar13 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = pcVar29 + 4;" (assignment_expression "pcVar29 = pcVar29 + 4" identifier = (binary_expression "pcVar29 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (local_60 == 0) goto LAB_0010dcb0;" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010dcb0;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);" (call_expression "(*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_98,1,(int)local_90 + 1)" ( identifier , number_literal , (binary_expression "(int)local_90 + 1" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (labeled_statement "LAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];" statement_identifier : (expression_statement "unaff_s7 = (int *******)param_1[2];" (assignment_expression "unaff_s7 = (int *******)param_1[2]" identifier = (cast_expression "(int *******)param_1[2]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;)) (if_statement "if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;" if (parenthesized_expression "((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0))" ( (binary_expression "(unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)" (parenthesized_expression "(unaff_s7 == (int *******)0x0)" ( (binary_expression "unaff_s7 == (int *******)0x0" identifier == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)" ( (comma_expression "unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" identifier = (cast_expression "(int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x1274)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x1274)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x1274)" ( (binary_expression "PTR_LAB_00190bc0 + 0x1274" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))))) , (comma_expression "pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) , (comma_expression "pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pcVar20 = unaff_s1" identifier = identifier) , (comma_expression "pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pcVar29 = unaff_s5" identifier = identifier) , (comma_expression "ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "ppppppiVar30 = unaff_s8" identifier = identifier) , (binary_expression "unaff_s7 == (int *******)0x0" identifier == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))))))) ))) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (if_statement "if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }" if (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }" { (expression_statement "*(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;" (assignment_expression "*(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4" (pointer_expression "*(byte *)((int)unaff_s7 + 0x95)" * (cast_expression "(byte *)((int)unaff_s7 + 0x95)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x95)" ( (binary_expression "(int)unaff_s7 + 0x95" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4" (binary_expression "*(byte *)((int)unaff_s7 + 0x95) & 0xfb" (pointer_expression "*(byte *)((int)unaff_s7 + 0x95)" * (cast_expression "(byte *)((int)unaff_s7 + 0x95)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x95)" ( (binary_expression "(int)unaff_s7 + 0x95" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | number_literal)) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bbc + 0x6508))" ( (pointer_expression "*(code *)(PTR_LAB_00190bbc + 0x6508)" * (cast_expression "(code *)(PTR_LAB_00190bbc + 0x6508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bbc + 0x6508)" ( (binary_expression "PTR_LAB_00190bbc + 0x6508" identifier + number_literal) )))) )) (argument_list "(param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4)" ( identifier , (binary_expression "local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0" (binary_expression "local_d0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) || (binary_expression "local_c0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) , identifier ))) ;) (if_statement "if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }" if (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) != 0)" ( (binary_expression "*(int *)(unaff_s1 + 0x38) != 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" * (cast_expression "(int *)(unaff_s1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_8c = (code *)0x0;" (assignment_expression "local_8c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_cc = (int ******)0x0;" (assignment_expression "local_cc = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_e4 = (int ******)0x0;" (assignment_expression "local_e4 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_0010dd68;" goto statement_identifier ;) })) (expression_statement "ppppppiVar30 = param_1[0xb];" (assignment_expression "ppppppiVar30 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (expression_statement "local_e4 = (int ******)((int)ppppppiVar30 + 2);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar30 + 2)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 + 2)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 + 2)" ( (binary_expression "(int)ppppppiVar30 + 2" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_ac = (int)ppppppiVar30 + 1;" (assignment_expression "local_ac = (int)ppppppiVar30 + 1" identifier = (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "param_1[0xb] = local_e4;" (assignment_expression "param_1[0xb] = local_e4" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" if (parenthesized_expression "(local_a8 == (code *)0x0)" ( (binary_expression "local_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }" { (if_statement "if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }" if (parenthesized_expression "(local_d0 != (int ******)0x0)" ( (binary_expression "local_d0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }" { (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" identifier = (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" identifier = (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )))) ;) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;) })) (expression_statement "pcVar13 = local_d8;" (assignment_expression "pcVar13 = local_d8" identifier = identifier) ;) (if_statement "if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;" if (parenthesized_expression "(local_c0 == (int ******)0x0)" ( (binary_expression "local_c0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010ef6c;" goto statement_identifier ;)) (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" identifier = (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" identifier = (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )))) ;) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_d8 != (code *)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(local_d8 != (code *)0x0)" ( (binary_expression "local_d8 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) }) (else_clause "else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" else (compound_statement "{\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" { (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" identifier = (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" identifier = (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )))) ;) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_c4 != (code *)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(local_c4 != (code *)0x0)" ( (binary_expression "local_c4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) (if_statement "if (local_d0 != (int ******)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(local_d0 != (int ******)0x0)" ( (binary_expression "local_d0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) (expression_statement "local_cc = local_e4;" (assignment_expression "local_cc = local_e4" identifier = identifier) ;) (if_statement "if (local_c0 == (int ******)0x0) goto LAB_0010dd54;" if (parenthesized_expression "(local_c0 == (int ******)0x0)" ( (binary_expression "local_c0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010dd54;" goto statement_identifier ;)) }))) (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" identifier = (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar9 = param_1[0xb];" (assignment_expression "ppppppiVar9 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;) })) })) })) (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" identifier = identifier) ;) (if_statement "if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }" if (parenthesized_expression "(local_58 != (int *******)0x0)" ( (binary_expression "local_58 != (int *******)0x0" identifier != (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }" { (expression_statement "local_58[0x3b] = local_5c;" (assignment_expression "local_58[0x3b] = local_5c" (subscript_expression "local_58[0x3b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) })) (labeled_statement "LAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x210c)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,param_2)" ( identifier , identifier ))) ;)) (expression_statement "param_1 = unaff_s0;" (assignment_expression "param_1 = unaff_s0" identifier = identifier) ;) (if_statement "if (param_3 != (int *)0x0) goto LAB_0010d64c;" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d64c;" goto statement_identifier ;)) (do_statement "do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );" do (compound_statement "{\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  }" { (if_statement "if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x47b0)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x47b0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x47b0)" ( (binary_expression "PTR_LAB_00190bb8 + -0x47b0" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,param_4)" ( identifier , identifier ))) ;) })) (if_statement "if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }" if (parenthesized_expression "(local_f8 != 0)" ( (binary_expression "local_f8 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x4644)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x4644)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x4644)" ( (binary_expression "PTR_LAB_00190bb8 + -0x4644" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,local_f8)" ( identifier , identifier ))) ;) })) (if_statement "if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }" if (parenthesized_expression "(local_f4 != 0)" ( (binary_expression "local_f4 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x47b0)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x47b0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x47b0)" ( (binary_expression "PTR_LAB_00190bb8 + -0x47b0" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,local_f4)" ( identifier , identifier ))) ;) })) (if_statement "if (local_2c == *(int *)puVar6) {\n      return;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar6)" ( (binary_expression "local_2c == *(int *)puVar6" identifier == (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();" (assignment_expression "pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)()" identifier = (cast_expression "(code *)(*(code *)PTR___stack_chk_fail_00190df8)()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (labeled_statement "LAB_0010ef6c:\n    ppppppiVar9 = local_e4;" statement_identifier : (expression_statement "ppppppiVar9 = local_e4;" (assignment_expression "ppppppiVar9 = local_e4" identifier = identifier) ;)) (if_statement "if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" if (parenthesized_expression "(pcVar13 == (code *)0x0)" ( (binary_expression "pcVar13 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_94 = 0;\n      local_cc = local_e4;\n    }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = local_e4;" (assignment_expression "local_cc = local_e4" identifier = identifier) ;) }) (else_clause "else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" else (compound_statement "{\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);" statement_identifier : (expression_statement "ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);" (assignment_expression "ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar9 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar9 + 1)" ( (binary_expression "(int)ppppppiVar9 + 1" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_cc = ppppppiVar9;" (assignment_expression "local_cc = ppppppiVar9" identifier = identifier) ;) }))) (labeled_statement "LAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);" statement_identifier : (expression_statement "local_8c = (code *)((int)ppppppiVar9 + 1);" (assignment_expression "local_8c = (code *)((int)ppppppiVar9 + 1)" identifier = (cast_expression "(code *)((int)ppppppiVar9 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar9 + 1)" ( (binary_expression "(int)ppppppiVar9 + 1" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )))) ;) (labeled_statement "LAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" statement_identifier : (if_statement "if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" if (parenthesized_expression "(local_bc != 0)" ( (binary_expression "local_bc != 0" identifier != number_literal) )) (compound_statement "{\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" { (expression_statement "local_5c = param_1[0x3b];" (assignment_expression "local_5c = param_1[0x3b]" identifier = (subscript_expression "param_1[0x3b]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x3b] = *(int *******)unaff_s1;" (assignment_expression "param_1[0x3b] = *(int *******)unaff_s1" (subscript_expression "param_1[0x3b]" identifier [ number_literal ]) = (pointer_expression "*(int *******)unaff_s1" * (cast_expression "(int *******)unaff_s1" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (expression_statement "local_58 = param_1;" (assignment_expression "local_58 = param_1" identifier = identifier) ;) (expression_statement "FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);" (call_expression "FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8)" identifier (argument_list "(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8)" ( identifier , identifier , (pointer_expression "*(int *)(unaff_s1 + 0x48)" * (cast_expression "(int *)(unaff_s1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x48)" ( (binary_expression "unaff_s1 + 0x48" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) }))) (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x6280))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x6280)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x6280)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x6280)" ( (binary_expression "PTR_LAB_00190bdc + 0x6280" identifier + number_literal) )))) )) (argument_list "(&local_54,param_4)" ( (pointer_expression "&local_54" & identifier) , identifier )))) ;) (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) ;) (expression_statement "pcVar20 = unaff_s1;" (assignment_expression "pcVar20 = unaff_s1" identifier = identifier) ;) (expression_statement "pcVar29 = unaff_s5;" (assignment_expression "pcVar29 = unaff_s5" identifier = identifier) ;) (expression_statement "ppppppiVar30 = unaff_s8;" (assignment_expression "ppppppiVar30 = unaff_s8" identifier = identifier) ;) (if_statement "if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }" { (if_statement "if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) == 0)" ( (binary_expression "*(int *)(unaff_s1 + 0x38) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" * (cast_expression "(int *)(unaff_s1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }" { (expression_statement "ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);" (assignment_expression "ppppppiVar9 = (int ******)((int)param_1[0xe] - 1)" identifier = (cast_expression "(int ******)((int)param_1[0xe] - 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xe] - 1)" ( (binary_expression "(int)param_1[0xe] - 1" (cast_expression "(int)param_1[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xe]" identifier [ number_literal ])) - number_literal) )))) ;) (expression_statement "param_1[0xe] = ppppppiVar9;" (assignment_expression "param_1[0xe] = ppppppiVar9" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" if (parenthesized_expression "(((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0'))" ( (binary_expression "((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')" (parenthesized_expression "((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0))" ( (binary_expression "(((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)" (parenthesized_expression "(((uint)ppppppiVar26[9] & 0x80) == 0)" ( (binary_expression "((uint)ppppppiVar26[9] & 0x80) == 0" (parenthesized_expression "((uint)ppppppiVar26[9] & 0x80)" ( (binary_expression "(uint)ppppppiVar26[9] & 0x80" (cast_expression "(uint)ppppppiVar26[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppiVar26[9]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) || (parenthesized_expression "(param_1[0x1e] != (int ******)0x0)" ( (binary_expression "param_1[0x1e] != (int ******)0x0" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) || (parenthesized_expression "(*(char *)((int)param_1 + 0x12) != '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x12) != '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }" { (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (if_statement "if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }" if (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }" { (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_0010efcc;" goto statement_identifier ;) })) (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" else (compound_statement "{\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" { (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" identifier = (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s5 + 0x32)" * (cast_expression "(short *)(unaff_s5 + 0x32)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0x32)" ( (binary_expression "unaff_s5 + 0x32" identifier + number_literal) ))))))) ;) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" ( (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }" if (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }" { (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_0010e728;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);" (call_expression "(*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bd0 + 0x6550))" ( (pointer_expression "*(code *)(PTR_LAB_00190bd0 + 0x6550)" * (cast_expression "(code *)(PTR_LAB_00190bd0 + 0x6550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bd0 + 0x6550)" ( (binary_expression "PTR_LAB_00190bd0 + 0x6550" identifier + number_literal) )))) )) (argument_list "(param_1,param_4,ppppppiVar9,0x10)" ( identifier , identifier , identifier , number_literal ))) ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_a0 = (int ******)0x0;" (assignment_expression "local_a0 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "cVar3 = '\x01';" (assignment_expression "cVar3 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" statement_identifier : (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (labeled_statement "LAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" statement_identifier : (if_statement "if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" if (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" { (if_statement "if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }" if (parenthesized_expression "(cVar3 != '\x02')" ( (binary_expression "cVar3 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_88)" ( identifier ))) ;) (if_statement "if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }" if (parenthesized_expression "(local_bc != 0)" ( (binary_expression "local_bc != 0" identifier != number_literal) )) (compound_statement "{\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }" { (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010e700;" goto statement_identifier ;) })) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010ea7c;" goto statement_identifier ;) })) (if_statement "if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }" { (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010e5d8;" goto statement_identifier ;) })) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "ppppppiVar30 = param_1[0xe];" (assignment_expression "ppppppiVar30 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);" statement_identifier : (expression_statement "param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);" (assignment_expression "param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U)" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (cast_expression "(int ******)((int)ppppppiVar30 - 1U)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 - 1U)" ( (binary_expression "(int)ppppppiVar30 - 1U" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;)) (expression_statement "local_d4 = (int ******)((int)ppppppiVar30 - 1U);" (assignment_expression "local_d4 = (int ******)((int)ppppppiVar30 - 1U)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 - 1U)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 - 1U)" ( (binary_expression "(int)ppppppiVar30 - 1U" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) (goto_statement "goto LAB_0010e580;" goto statement_identifier ;) }))) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" identifier = identifier) ;) }) (else_clause "else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" else (compound_statement "{\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" { (if_statement "if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }" if (parenthesized_expression "((int)local_b4 < 1)" ( (binary_expression "(int)local_b4 < 1" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }" { (labeled_statement "LAB_0010df38:\n              local_dc = ppppppiVar22;" statement_identifier : (expression_statement "local_dc = ppppppiVar22;" (assignment_expression "local_dc = ppppppiVar22" identifier = identifier) ;)) (if_statement "if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2478)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2478)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2478" identifier + number_literal) )))) )) (argument_list "(*unaff_s7,unaff_s7 + 0x1a,iVar8)" ( (pointer_expression "*unaff_s7" * identifier) , (binary_expression "unaff_s7 + 0x1a" identifier + number_literal) , identifier ))) ;) })) (goto_statement "goto LAB_0010df40;" goto statement_identifier ;) })) (labeled_statement "LAB_0010deb0:\n            iVar10 = 0;" statement_identifier : (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;)) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "ppppppiVar30 = ppppppiVar22;" (assignment_expression "ppppppiVar30 = ppppppiVar22" identifier = identifier) ;) (do_statement "do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);" do (compound_statement "{\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            }" { (expression_statement "psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);" (assignment_expression "psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10)" identifier = (cast_expression "(short *)(*(int *)(unaff_s5 + 4) + iVar10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_s5 + 4) + iVar10)" ( (binary_expression "*(int *)(unaff_s5 + 4) + iVar10" (pointer_expression "*(int *)(unaff_s5 + 4)" * (cast_expression "(int *)(unaff_s5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 4)" ( (binary_expression "unaff_s5 + 4" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);" (call_expression "(*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30)" ( identifier , identifier , identifier , (cast_expression "(int)*psVar19" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*psVar19" * identifier)) , identifier ))) ;) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 + 1)" ( (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_b4 << 1 != iVar10)" ( (binary_expression "(int)local_b4 << 1 != iVar10" (binary_expression "(int)local_b4 << 1" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) != identifier) )) ;) (labeled_statement "LAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;" statement_identifier : (if_statement "if (cVar3 != '\0') goto LAB_0010df38;" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010df38;" goto statement_identifier ;))) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (labeled_statement "LAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);" statement_identifier : (expression_statement "uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);" (assignment_expression "uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x1c4c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x1c4c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x1c4c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x1c4c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x1c4c" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,unaff_s5)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);" (assignment_expression "uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" identifier = (call_expression "(*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" ( identifier , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + 0x7a3c)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x7a3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x7a3c)" ( (binary_expression "PTR_LAB_00190ba4 + 0x7a3c" identifier + number_literal) )))) )) (argument_list "(unaff_s7,uVar12,uVar21,local_b4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;" if (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010e8dc;" goto statement_identifier ;)) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" identifier = identifier) ;) })))) }) (else_clause "else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" else (compound_statement "{\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" { (if_statement "if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }" if (parenthesized_expression "(local_e8 != (int ******)0x0)" ( (binary_expression "local_e8 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }" { (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) }) (else_clause "else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" else (compound_statement "{\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" { (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" identifier = (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s5 + 0x32)" * (cast_expression "(short *)(unaff_s5 + 0x32)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0x32)" ( (binary_expression "unaff_s5 + 0x32" identifier + number_literal) ))))))) ;) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" ( (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) }))) (goto_statement "goto LAB_0010de50;" goto statement_identifier ;) })) (expression_statement "local_9c = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "local_9c = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_9c;" (assignment_expression "param_1[0xb] = local_9c" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar13)(unaff_s7,0x46,0,local_9c,0);" (call_expression "(*pcVar13)(unaff_s7,0x46,0,local_9c,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x46,0,local_9c,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }" { (expression_statement "(*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_0010efcc:\n            local_dc = (int ******)0x0;" statement_identifier : (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = (int ******)0x0;" (assignment_expression "local_a0 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" else (compound_statement "{\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" { (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" identifier = (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s5 + 0x32)" * (cast_expression "(short *)(unaff_s5 + 0x32)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0x32)" ( (binary_expression "unaff_s5 + 0x32" identifier + number_literal) ))))))) ;) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" ( (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);" statement_identifier : (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" identifier = (cast_expression "(code *)(puVar5 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x10fc)" ( (binary_expression "puVar5 + 0x10fc" identifier + number_literal) )))) ;)) (expression_statement "local_a0 = param_1[10];" (assignment_expression "local_a0 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "param_1[10] = (int ******)((int)local_a0 + 1);" (assignment_expression "param_1[10] = (int ******)((int)local_a0 + 1)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(int ******)((int)local_a0 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_a0 + 1)" ( (binary_expression "(int)local_a0 + 1" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));" (call_expression "(*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1))" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1))" ( identifier , number_literal , number_literal , identifier , (cast_expression "(code *)((int)ppppppiVar22 + (int)local_b4 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar22 + (int)local_b4 + -1)" ( (binary_expression "(int)ppppppiVar22 + (int)local_b4 + -1" (binary_expression "(int)ppppppiVar22 + (int)local_b4" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) ))) ))) ;) (expression_statement "iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);" (assignment_expression "iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0)" identifier = (call_expression "(*local_f0)(unaff_s7,0x71,local_a0,local_b4,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x71,local_a0,local_b4,0)" ( identifier , number_literal , identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x62dc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x62dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x62dc)" ( (binary_expression "PTR_LAB_00190bc4 + -0x62dc" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s5)" ( identifier , identifier ))) ;) }))) (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" identifier = (cast_expression "(code *)(puVar5 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x10fc)" ( (binary_expression "puVar5 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "uVar21 = 0x1004;" (assignment_expression "uVar21 = 0x1004" identifier = number_literal) ;) (if_statement "if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }" if (parenthesized_expression "(((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0))" ( (binary_expression "((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)" (parenthesized_expression "((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0))" ( (binary_expression "(local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)" (parenthesized_expression "(local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0')" ( (binary_expression "local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0'" (binary_expression "local_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) )) && (parenthesized_expression "(uVar21 = 0x1004, local_d0 == (int ******)0x0)" ( (comma_expression "uVar21 = 0x1004, local_d0 == (int ******)0x0" (assignment_expression "uVar21 = 0x1004" identifier = number_literal) , (binary_expression "local_d0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) && (parenthesized_expression "(uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)" ( (comma_expression "uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0" (assignment_expression "uVar21 = 0x1004" identifier = number_literal) , (binary_expression "local_c0 == (int ******)0x0 && local_60 == 0" (binary_expression "local_c0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) && (binary_expression "local_60 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n            uVar21 = 0x100c;\n          }" { (expression_statement "uVar21 = 0x100c;" (assignment_expression "uVar21 = 0x100c" identifier = number_literal) ;) })) (expression_statement "local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);" (assignment_expression "local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8)" identifier = (call_expression "FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8)" identifier (argument_list "(param_1,param_2,param_4,0,0,uVar21,local_c8)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (local_88 == 0) goto LAB_0010d60c;" if (parenthesized_expression "(local_88 == 0)" ( (binary_expression "local_88 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (expression_statement "local_34 = *(int *******)(local_88 + 0x18);" (assignment_expression "local_34 = *(int *******)(local_88 + 0x18)" identifier = (pointer_expression "*(int *******)(local_88 + 0x18)" * (cast_expression "(int *******)(local_88 + 0x18)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_88 + 0x18)" ( (binary_expression "local_88 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_30 = *(int *******)(local_88 + 0x1c);" (assignment_expression "local_30 = *(int *******)(local_88 + 0x1c)" identifier = (pointer_expression "*(int *******)(local_88 + 0x1c)" * (cast_expression "(int *******)(local_88 + 0x1c)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_88 + 0x1c)" ( (binary_expression "local_88 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "cVar3 = *(char *)(local_88 + 0x31);" (assignment_expression "cVar3 = *(char *)(local_88 + 0x31)" identifier = (pointer_expression "*(char *)(local_88 + 0x31)" * (cast_expression "(char *)(local_88 + 0x31)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_88 + 0x31)" ( (binary_expression "local_88 + 0x31" identifier + number_literal) ))))) ;) (if_statement "if (cVar3 == '\x01') goto LAB_0010de98;" if (parenthesized_expression "(cVar3 == '\x01')" ( (binary_expression "cVar3 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010de98;" goto statement_identifier ;)) (expression_statement "pppppppiVar16 = (int *******)param_1[0x1d];" (assignment_expression "pppppppiVar16 = (int *******)param_1[0x1d]" identifier = (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) (if_statement "if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }" if (parenthesized_expression "((int *******)param_1[0x1d] == (int *******)0x0)" ( (binary_expression "(int *******)param_1[0x1d] == (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            pppppppiVar16 = param_1;\n          }" { (expression_statement "pppppppiVar16 = param_1;" (assignment_expression "pppppppiVar16 = param_1" identifier = identifier) ;) })) (expression_statement "*(undefined1 *)(pppppppiVar16 + 5) = 1;" (assignment_expression "*(undefined1 *)(pppppppiVar16 + 5) = 1" (pointer_expression "*(undefined1 *)(pppppppiVar16 + 5)" * (cast_expression "(undefined1 *)(pppppppiVar16 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppiVar16 + 5)" ( (binary_expression "pppppppiVar16 + 5" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }" if (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }" { (if_statement "if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;" if (parenthesized_expression "((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0))" ( (binary_expression "(((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)" (parenthesized_expression "(((int)local_30 < 0) || (unaff_s8 == local_30))" ( (binary_expression "((int)local_30 < 0) || (unaff_s8 == local_30)" (parenthesized_expression "((int)local_30 < 0)" ( (binary_expression "(int)local_30 < 0" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(unaff_s8 == local_30)" ( (binary_expression "unaff_s8 == local_30" identifier == identifier) ))) )) || (parenthesized_expression "(local_98[(int)local_30 - (int)local_d4] == (code)0x0)" ( (binary_expression "local_98[(int)local_30 - (int)local_d4] == (code)0x0" (subscript_expression "local_98[(int)local_30 - (int)local_d4]" identifier [ (binary_expression "(int)local_30 - (int)local_d4" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_0010de98;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }" { (expression_statement "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (goto_statement "goto LAB_0010e8bc;" goto statement_identifier ;) })) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0 < (int)local_b4) goto LAB_0010deb0;" if (parenthesized_expression "(0 < (int)local_b4)" ( (binary_expression "0 < (int)local_b4" number_literal < (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0010deb0;" goto statement_identifier ;)) (goto_statement "goto LAB_0010ee9c;" goto statement_identifier ;) })) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) != 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }" { (if_statement "if (0 < (int)local_b4) goto LAB_0010deb0;" if (parenthesized_expression "(0 < (int)local_b4)" ( (binary_expression "0 < (int)local_b4" number_literal < (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0010deb0;" goto statement_identifier ;)) (goto_statement "goto LAB_0010df30;" goto statement_identifier ;) })) (expression_statement "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }" { (labeled_statement "LAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);" statement_identifier : (expression_statement "(*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x94,local_ac,local_e4,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x94,local_ac,local_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;)) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (labeled_statement "LAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_88)" ( identifier ))) ;)) (if_statement "if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }" { (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (labeled_statement "LAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" statement_identifier : (if_statement "if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }" { (labeled_statement "LAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);" statement_identifier : (expression_statement "pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);" (assignment_expression "pppppppiVar16 = *(int ********)(unaff_s1 + 0x38)" identifier = (pointer_expression "*(int ********)(unaff_s1 + 0x38)" * (cast_expression "(int ********)(unaff_s1 + 0x38)" ( (type_descriptor "int ********" primitive_type (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) ))))) ;)) (if_statement "if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }" if (parenthesized_expression "(pppppppiVar16 == (int *******)0x0)" ( (binary_expression "pppppppiVar16 == (int *******)0x0" identifier == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }" { (labeled_statement "LAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x64e0)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x64e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x64e0)" ( (binary_expression "PTR_LAB_00190bc4 + 0x64e0" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , number_literal , number_literal ))) ;)) (expression_statement "local_90 = pppppppiVar16;" (assignment_expression "local_90 = pppppppiVar16" identifier = identifier) ;) (goto_statement "goto LAB_0010e680;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" else (compound_statement "{\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" { (labeled_statement "LAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" statement_identifier : (if_statement "if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" if (parenthesized_expression "(-1 < (int)local_34)" ( (binary_expression "-1 < (int)local_34" number_literal < (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" { (expression_statement "local_98[(int)local_34 - (int)local_d4] = (code)0x0;" (assignment_expression "local_98[(int)local_34 - (int)local_d4] = (code)0x0" (subscript_expression "local_98[(int)local_34 - (int)local_d4]" identifier [ (binary_expression "(int)local_34 - (int)local_d4" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }))) (if_statement "if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }" if (parenthesized_expression "(-1 < (int)local_30)" ( (binary_expression "-1 < (int)local_30" number_literal < (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }" { (expression_statement "local_98[(int)local_30 - (int)local_d4] = (code)0x0;" (assignment_expression "local_98[(int)local_30 - (int)local_d4] = (code)0x0" (subscript_expression "local_98[(int)local_30 - (int)local_d4]" identifier [ (binary_expression "(int)local_30 - (int)local_d4" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) (if_statement "if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;" if (parenthesized_expression "((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))" ( (binary_expression "(cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1)" (parenthesized_expression "(cVar3 != '\x02')" ( (binary_expression "cVar3 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1)" ( (binary_expression "(int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1" (binary_expression "(int)local_90 + ((int)~(uint)local_30 >> 0x1f)" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)~(uint)local_30 >> 0x1f)" ( (binary_expression "(int)~(uint)local_30 >> 0x1f" (cast_expression "(int)~(uint)local_30" ( (type_descriptor "int" primitive_type) ) (unary_expression "~(uint)local_30" ~ (cast_expression "(uint)local_30" ( (type_descriptor "uint" type_identifier) ) identifier))) >> number_literal) ))) < number_literal) ))) )) (goto_statement "goto LAB_0010e634;" goto statement_identifier ;)) (expression_statement "pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);" (assignment_expression "pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0)" identifier = (cast_expression "(int *******)(*local_f0)(unaff_s7,0x11,0,0,0)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*local_f0)(unaff_s7,0x11,0,0,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x11,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))))) ;) (if_statement "if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;" if (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) == 0)" ( (binary_expression "*(int *)(unaff_s1 + 0x38) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" * (cast_expression "(int *)(unaff_s1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0010e640;" goto statement_identifier ;)) (labeled_statement "LAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" statement_identifier : (if_statement "if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" if (parenthesized_expression "(pppppppiVar16 != (int *******)0x0)" ( (binary_expression "pppppppiVar16 != (int *******)0x0" identifier != (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" { (expression_statement "ppppppiVar30 = unaff_s7[0x1b];" (assignment_expression "ppppppiVar30 = unaff_s7[0x1b]" identifier = (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }" if (parenthesized_expression "((int)pppppppiVar16 < 0)" ( (binary_expression "(int)pppppppiVar16 < 0" (cast_expression "(int)pppppppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }" { (expression_statement "pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);" (assignment_expression "pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1)" identifier = (cast_expression "(int *******)((int)ppppppiVar30 + -1)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)ppppppiVar30 + -1)" ( (binary_expression "(int)ppppppiVar30 + -1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }" { (expression_statement "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;" (assignment_expression "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30" (subscript_expression "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2]" (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ]) [ (binary_expression "(int)pppppppiVar16 * 6 + 2" (binary_expression "(int)pppppppiVar16 * 6" (cast_expression "(int)pppppppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]) = (cast_expression "(int *****)ppppppiVar30" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }) (else_clause "else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" else (compound_statement "{\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" { (expression_statement "*(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;" (assignment_expression "*(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30" (pointer_expression "*(int *******)(PTR_DAT_00190948 + 0xfc4)" * (cast_expression "(int *******)(PTR_DAT_00190948 + 0xfc4)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_DAT_00190948 + 0xfc4)" ( (binary_expression "PTR_DAT_00190948 + 0xfc4" identifier + number_literal) )))) = identifier) ;) }))) }))) })))) (if_statement "if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }" { (if_statement "if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }" if (parenthesized_expression "((local_34 != unaff_s8) && (local_30 != unaff_s8))" ( (binary_expression "(local_34 != unaff_s8) && (local_30 != unaff_s8)" (parenthesized_expression "(local_34 != unaff_s8)" ( (binary_expression "local_34 != unaff_s8" identifier != identifier) )) && (parenthesized_expression "(local_30 != unaff_s8)" ( (binary_expression "local_30 != unaff_s8" identifier != identifier) ))) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_0010e700;" goto statement_identifier ;) })) }) (else_clause "else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" else (compound_statement "{\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" { (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }" { (labeled_statement "LAB_0010e700:\n              local_d4 = ppppppiVar9;" statement_identifier : (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" identifier = identifier) ;)) (if_statement "if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }" if (parenthesized_expression "(cVar3 != '\x01')" ( (binary_expression "cVar3 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }" { (expression_statement "ppppppiVar30 = param_1[0xe];" (assignment_expression "ppppppiVar30 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0010e570;" goto statement_identifier ;) })) (labeled_statement "LAB_0010e580:\n              ppppppiVar30 = local_e4;" statement_identifier : (expression_statement "ppppppiVar30 = local_e4;" (assignment_expression "ppppppiVar30 = local_e4" identifier = identifier) ;)) (if_statement "if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }" if (parenthesized_expression "(unaff_s5 != (code *)0x0)" ( (binary_expression "unaff_s5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                ppppppiVar30 = local_dc;\n              }" { (expression_statement "ppppppiVar30 = local_dc;" (assignment_expression "ppppppiVar30 = local_dc" identifier = identifier) ;) })) (expression_statement "(*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);" (call_expression "(*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0010df54;" goto statement_identifier ;) })) }))) (if_statement "if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" if (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }" { (expression_statement "local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);" (assignment_expression "local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" identifier = (cast_expression "(int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" ( identifier , number_literal , identifier , identifier , identifier ))))) ;) (expression_statement "(*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);" (call_expression "(*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) }) (else_clause "else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" else (compound_statement "{\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" { (expression_statement "local_d4 = (int ******)((int)param_1[0xe] - 1);" (assignment_expression "local_d4 = (int ******)((int)param_1[0xe] - 1)" identifier = (cast_expression "(int ******)((int)param_1[0xe] - 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xe] - 1)" ( (binary_expression "(int)param_1[0xe] - 1" (cast_expression "(int)param_1[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xe]" identifier [ number_literal ])) - number_literal) )))) ;) (expression_statement "param_1[0xe] = local_d4;" (assignment_expression "param_1[0xe] = local_d4" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);" (call_expression "(*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x24,local_a0,ppppppiVar9,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);" (assignment_expression "local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0)" identifier = (call_expression "(*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x7f,local_a0,local_dc,0)" ( identifier , number_literal , identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0)" ( identifier , number_literal , identifier , identifier , identifier , number_literal ))) ;) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }))) (labeled_statement "LAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" statement_identifier : (if_statement "if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" if (parenthesized_expression "(local_d8 != (code *)0x0)" ( (binary_expression "local_d8 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);" (call_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))" ( (pointer_expression "*(code *)(PTR_LAB_00190c58 + -0x7cdc)" * (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(param_1,local_b8,local_cc)" ( identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0xf,local_cc,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) (if_statement "if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" if (parenthesized_expression "(local_a8 == (code *)0x0)" ( (binary_expression "local_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }" { (if_statement "if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }" if (parenthesized_expression "(local_c0 != (int ******)0x0)" ( (binary_expression "local_c0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }" { (labeled_statement "LAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;" statement_identifier : (if_statement "if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;" if (parenthesized_expression "(((uint)(*param_1)[9] & 0x4000) == 0)" ( (binary_expression "((uint)(*param_1)[9] & 0x4000) == 0" (parenthesized_expression "((uint)(*param_1)[9] & 0x4000)" ( (binary_expression "(uint)(*param_1)[9] & 0x4000" (subscript_expression "(uint)(*param_1)[9]" (call_expression "(uint)(*param_1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0010df7c;" goto statement_identifier ;))) (expression_statement "uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);" (assignment_expression "uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x6eb0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x6eb0)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x6eb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x6eb0)" ( (binary_expression "PTR_LAB_00190bc4 + -0x6eb0" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_0010df80;" goto statement_identifier ;) })) (if_statement "if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }" if (parenthesized_expression "(local_d0 != (int ******)0x0)" ( (binary_expression "local_d0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }" { (labeled_statement "LAB_0010df7c:\n            uVar23 = 0;" statement_identifier : (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0010df80;" goto statement_identifier ;) })) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x3b58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x3b58)" ( (binary_expression "PTR_LAB_00190bc8 + -0x3b58" identifier + number_literal) )))) ;) }) (else_clause "else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" else (compound_statement "{\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (if_statement "if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;" if (parenthesized_expression "(local_c0 != (int ******)0x0)" ( (binary_expression "local_c0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010e4cc;" goto statement_identifier ;)) (labeled_statement "LAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" statement_identifier : (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x3b58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x3b58)" ( (binary_expression "PTR_LAB_00190bc8 + -0x3b58" identifier + number_literal) )))) ;)) (expression_statement "uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);" (assignment_expression "uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" identifier = (call_expression "FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" identifier (argument_list "(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));" do (compound_statement "{\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            }" { (if_statement "if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" if (parenthesized_expression "(((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0))))" ( (binary_expression "((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))" (parenthesized_expression "((uVar23 | uVar11) == 0xffffffff)" ( (binary_expression "(uVar23 | uVar11) == 0xffffffff" (parenthesized_expression "(uVar23 | uVar11)" ( (binary_expression "uVar23 | uVar11" identifier | identifier) )) == number_literal) )) || (parenthesized_expression "((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))" ( (parenthesized_expression "(((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0))" ( (binary_expression "((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)" (parenthesized_expression "((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0))" ( (binary_expression "(int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)" (binary_expression "(int)uVar25 < 0x20" (cast_expression "(int)uVar25" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)" ( (binary_expression "(1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0" (parenthesized_expression "(1 << (uVar25 & 0x1f) & (uVar23 | uVar11))" ( (binary_expression "1 << (uVar25 & 0x1f) & (uVar23 | uVar11)" (binary_expression "1 << (uVar25 & 0x1f)" number_literal << (parenthesized_expression "(uVar25 & 0x1f)" ( (binary_expression "uVar25 & 0x1f" identifier & number_literal) ))) & (parenthesized_expression "(uVar23 | uVar11)" ( (binary_expression "uVar23 | uVar11" identifier | identifier) ))) )) != number_literal) ))) )) || (parenthesized_expression "((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1)" ( (binary_expression "*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1" (pointer_expression "*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" * (cast_expression "(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" ( (binary_expression "*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf" (binary_expression "*(int *)(unaff_s1 + 4) + uVar25 * 0x10" (pointer_expression "*(int *)(unaff_s1 + 4)" * (cast_expression "(int *)(unaff_s1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 4)" ( (binary_expression "unaff_s1 + 4" identifier + number_literal) )))) + (binary_expression "uVar25 * 0x10" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }" { (expression_statement "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);" (call_expression "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25)" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25)" ( identifier , identifier , identifier , identifier , (binary_expression "local_94 + uVar25" identifier + identifier) ))) ;) }) (else_clause "else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" else (compound_statement "{\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" { (expression_statement "(*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);" (call_expression "(*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0)" (parenthesized_expression "(*local_98)" ( (pointer_expression "*local_98" * identifier) )) (argument_list "(unaff_s7,0x49,0,local_94 + uVar25,0)" ( identifier , number_literal , number_literal , (binary_expression "local_94 + uVar25" identifier + identifier) , number_literal ))) ;) }))) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (expression_statement "local_90 = param_1;" (assignment_expression "local_90 = param_1" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)uVar25" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )) ;) })) (if_statement "if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }" if (parenthesized_expression "((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0))" ( (binary_expression "(local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)" (parenthesized_expression "(local_d8 == (code *)0x0)" ( (binary_expression "local_d8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x4e,local_e4,local_cc,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) })) }))) (expression_statement "local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);" (assignment_expression "local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" identifier = (cast_expression "(code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier ))))) ;) (expression_statement "puVar5 = PTR_LAB_00190c58;" (assignment_expression "puVar5 = PTR_LAB_00190c58" identifier = identifier) ;) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "local_f0 = local_ec;" (assignment_expression "local_f0 = local_ec" identifier = identifier) ;) (expression_statement "local_98 = (code *)PTR_LAB_00190c58;" (assignment_expression "local_98 = (code *)PTR_LAB_00190c58" identifier = (cast_expression "(code *)PTR_LAB_00190c58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));" do (compound_statement "{\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          }" { (expression_statement "pcVar20 = local_8c + uVar23;" (assignment_expression "pcVar20 = local_8c + uVar23" identifier = (binary_expression "local_8c + uVar23" identifier + identifier)) ;) (if_statement "if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" if (parenthesized_expression "((int)*(short *)(unaff_s1 + 0x28) == uVar23)" ( (binary_expression "(int)*(short *)(unaff_s1 + 0x28) == uVar23" (cast_expression "(int)*(short *)(unaff_s1 + 0x28)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x28)" * (cast_expression "(short *)(unaff_s1 + 0x28)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x28)" ( (binary_expression "unaff_s1 + 0x28" identifier + number_literal) ))))) == identifier) )) (compound_statement "{\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }" { (labeled_statement "LAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);" statement_identifier : (expression_statement "(*pcVar13)(unaff_s7,0x49,0,pcVar20,0);" (call_expression "(*pcVar13)(unaff_s7,0x49,0,pcVar20,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x49,0,pcVar20,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;)) }) (else_clause "else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" else (if_statement "if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" if (parenthesized_expression "(*(int *)local_f0 < 0)" ( (binary_expression "*(int *)local_f0 < 0" (pointer_expression "*(int *)local_f0" * (cast_expression "(int *)local_f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }" { (if_statement "if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;" if (parenthesized_expression "((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0))" ( (binary_expression "(((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)" (parenthesized_expression "(((local_64 & 1) != 0) && ((int)uVar23 < 0x20))" ( (binary_expression "((local_64 & 1) != 0) && ((int)uVar23 < 0x20)" (parenthesized_expression "((local_64 & 1) != 0)" ( (binary_expression "(local_64 & 1) != 0" (parenthesized_expression "(local_64 & 1)" ( (binary_expression "local_64 & 1" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((int)uVar23 < 0x20)" ( (binary_expression "(int)uVar23 < 0x20" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) && (parenthesized_expression "(((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)" ( (binary_expression "((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0" (parenthesized_expression "((uint)local_b8 >> (uVar23 & 0x1f) & 1)" ( (binary_expression "(uint)local_b8 >> (uVar23 & 0x1f) & 1" (binary_expression "(uint)local_b8 >> (uVar23 & 0x1f)" (cast_expression "(uint)local_b8" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar23 & 0x1f)" ( (binary_expression "uVar23 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0010e30c;" goto statement_identifier ;)) (expression_statement "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);" (call_expression "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20)" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" else (compound_statement "{\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" { (expression_statement "(*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);" (call_expression "(*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20)" (parenthesized_expression "(*(code *)(puVar5 + -0x7cdc))" ( (pointer_expression "*(code *)(puVar5 + -0x7cdc)" * (cast_expression "(code *)(puVar5 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x7cdc)" ( (binary_expression "puVar5 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20)" ( identifier , (subscript_expression "param_3[*(int *)local_f0 * 5 + 1]" identifier [ (binary_expression "*(int *)local_f0 * 5 + 1" (binary_expression "*(int *)local_f0 * 5" (pointer_expression "*(int *)local_f0" * (cast_expression "(int *)local_f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal) + number_literal) ]) , identifier ))) ;) }))))) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "local_f0 = local_f0 + 4;" (assignment_expression "local_f0 = local_f0 + 4" identifier = (binary_expression "local_f0 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )) ;) })) (if_statement "if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" if (parenthesized_expression "((local_64 & 1) == 0)" ( (binary_expression "(local_64 & 1) == 0" (parenthesized_expression "(local_64 & 1)" ( (binary_expression "local_64 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }" { (expression_statement "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);" (assignment_expression "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x2cec)" ( (binary_expression "PTR_LAB_00190bc8 + -0x2cec" identifier + number_literal) )))) ;) }) (else_clause "else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" else (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x15f0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x15f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x15f0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x15f0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,unaff_s1,local_8c)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);" (assignment_expression "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x2cec)" ( (binary_expression "PTR_LAB_00190bc8 + -0x2cec" identifier + number_literal) )))) ;) (expression_statement "FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);" (call_expression "FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4)" identifier (argument_list "(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4)" ( identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" if (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) }))) (expression_statement "iVar8 = (int)*(short *)(unaff_s1 + 0x2a);" (assignment_expression "iVar8 = (int)*(short *)(unaff_s1 + 0x2a)" identifier = (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) ;) (if_statement "if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }" if (parenthesized_expression "(0 < iVar8)" ( (binary_expression "0 < iVar8" number_literal < identifier) )) (compound_statement "{\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }" { (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = local_ec;" (assignment_expression "pcVar13 = local_ec" identifier = identifier) ;) (do_statement "do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);" do (compound_statement "{\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            }" { (if_statement "if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }" if (parenthesized_expression "((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10))" ( (binary_expression "(*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)" (parenthesized_expression "(*(int *)pcVar13 < 0)" ( (binary_expression "*(int *)pcVar13 < 0" (pointer_expression "*(int *)pcVar13" * (cast_expression "(int *)pcVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) && (parenthesized_expression "(*(short *)(unaff_s1 + 0x28) != iVar10)" ( (binary_expression "*(short *)(unaff_s1 + 0x28) != iVar10" (pointer_expression "*(short *)(unaff_s1 + 0x28)" * (cast_expression "(short *)(unaff_s1 + 0x28)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x28)" ( (binary_expression "unaff_s1 + 0x28" identifier + number_literal) )))) != identifier) ))) )) (compound_statement "{\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }" { (expression_statement "(*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);" (call_expression "(*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10)" ( identifier , identifier , identifier , identifier , (binary_expression "local_8c + iVar10" identifier + identifier) ))) ;) (expression_statement "iVar8 = (int)*(short *)(unaff_s1 + 0x2a);" (assignment_expression "iVar8 = (int)*(short *)(unaff_s1 + 0x2a)" identifier = (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) ;) (expression_statement "local_b8 = pcVar20;" (assignment_expression "local_b8 = pcVar20" identifier = identifier) ;) (expression_statement "local_a8 = pcVar13;" (assignment_expression "local_a8 = pcVar13" identifier = identifier) ;) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = pcVar13 + 4;" (assignment_expression "pcVar13 = pcVar13 + 4" identifier = (binary_expression "pcVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 < iVar8)" ( (binary_expression "iVar10 < iVar8" identifier < identifier) )) ;) })) }))) (if_statement "if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }" { (expression_statement "FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);" (call_expression "FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0)" identifier (argument_list "(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "param_5 & 0xff" identifier & number_literal) , identifier , (pointer_expression "&local_60" & identifier) , identifier , number_literal ))) ;) (if_statement "if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }" if (parenthesized_expression "(local_c0 != (int ******)0x0)" ( (binary_expression "local_c0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }" { (expression_statement "FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);" (call_expression "FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4)" identifier (argument_list "(param_1,unaff_s1,local_e4,0,local_ec,local_c4)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) })) (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" identifier = identifier) ;) (if_statement "if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" if (parenthesized_expression "((local_60 == 0) && (local_c4 == (code *)0x0))" ( (binary_expression "(local_60 == 0) && (local_c4 == (code *)0x0)" (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_c4 == (code *)0x0)" ( (binary_expression "local_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }" { (expression_statement "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);" (call_expression "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" identifier (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" ( identifier , identifier , identifier , identifier , identifier , number_literal ))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (if_statement "if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" if (parenthesized_expression "((int)local_c0 < 2)" ( (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" { (expression_statement "uVar21 = 0x44;" (assignment_expression "uVar21 = 0x44" identifier = number_literal) ;) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) }) (else_clause "else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" else (compound_statement "{\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" { (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" identifier = number_literal) ;) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) }))) }) (else_clause "else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" else (compound_statement "{\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" { (if_statement "if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" if (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }" { (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1f,unaff_s8,0,local_e4)" ( identifier , number_literal , identifier , number_literal , identifier )))) ;) }) (else_clause "else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" else (compound_statement "{\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" { (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,0,local_dc)" ( identifier , number_literal , identifier , number_literal , identifier )))) ;) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }" { (expression_statement "ppppppiVar30 = unaff_s7[0x1a];" (assignment_expression "ppppppiVar30 = unaff_s7[0x1a]" identifier = (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;" (assignment_expression "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd" (pointer_expression "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1)" * (cast_expression "(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar30 + iVar8 * 0x18 + 1)" ( (binary_expression "(int)ppppppiVar30 + iVar8 * 0x18 + 1" (binary_expression "(int)ppppppiVar30 + iVar8 * 0x18" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar8 * 0x18" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "ppppppiVar30[iVar8 * 6 + 4] = local_b4;" (assignment_expression "ppppppiVar30[iVar8 * 6 + 4] = local_b4" (subscript_expression "ppppppiVar30[iVar8 * 6 + 4]" identifier [ (binary_expression "iVar8 * 6 + 4" (binary_expression "iVar8 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) })) }))) (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" identifier = (cast_expression "(code *)(puVar5 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x10fc)" ( (binary_expression "puVar5 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);" (call_expression "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" identifier (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" ( identifier , identifier , identifier , identifier , identifier , number_literal ))) ;) (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" identifier = number_literal) ;) (if_statement "if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }" if (parenthesized_expression "(((int)local_c0 < 2) && (local_c4 == (code *)0x0))" ( (binary_expression "((int)local_c0 < 2) && (local_c4 == (code *)0x0)" (parenthesized_expression "((int)local_c0 < 2)" ( (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(local_c4 == (code *)0x0)" ( (binary_expression "local_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              uVar21 = 0x44;\n            }" { (expression_statement "uVar21 = 0x44;" (assignment_expression "uVar21 = 0x44" identifier = number_literal) ;) })) }))) (expression_statement "(*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);" (call_expression "(*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x7b,unaff_s8,uVar21,local_cc)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (if_statement "if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }" if (parenthesized_expression "((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b]))" ( (binary_expression "(cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])" (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" ( (binary_expression "0 < (int)unaff_s7[0x1b]" number_literal < (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }" { (expression_statement "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;" (assignment_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2" (pointer_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" * (cast_expression "(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }" if (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x24d4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x24d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x24d4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x24d4" identifier + number_literal) )))) )) (argument_list "(unaff_s7,unaff_s1,0xfffffffa)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }" if (parenthesized_expression "((local_60 != 0) || (local_c4 != (code *)0x0))" ( (binary_expression "(local_60 != 0) || (local_c4 != (code *)0x0)" (parenthesized_expression "(local_60 != 0)" ( (binary_expression "local_60 != 0" identifier != number_literal) )) || (parenthesized_expression "(local_c4 != (code *)0x0)" ( (binary_expression "local_c4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }" { (if_statement "if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (compound_statement "{\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }" { (expression_statement "iVar8 = (int)unaff_s7[0x1b] + -1;" (assignment_expression "iVar8 = (int)unaff_s7[0x1b] + -1" identifier = (binary_expression "(int)unaff_s7[0x1b] + -1" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) + number_literal)) ;) })) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }" { (expression_statement "ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;" (assignment_expression "ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6" identifier = (binary_expression "unaff_s7[0x1a] + iVar8 * 6" (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar8 * 6" identifier * number_literal))) ;) }) (else_clause "else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" else (compound_statement "{\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" { (expression_statement "ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);" (assignment_expression "ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc)" identifier = (cast_expression "(int ******)(PTR_DAT_00190948 + 0xfbc)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_DAT_00190948 + 0xfbc)" ( (binary_expression "PTR_DAT_00190948 + 0xfbc" identifier + number_literal) )))) ;) }))) (expression_statement "ppppppiVar30[2] = (int *****)unaff_s7[0x1b];" (assignment_expression "ppppppiVar30[2] = (int *****)unaff_s7[0x1b]" (subscript_expression "ppppppiVar30[2]" identifier [ number_literal ]) = (cast_expression "(int *****)unaff_s7[0x1b]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) ;) })) (if_statement "if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" if (parenthesized_expression "(local_c0 == (int ******)0x0)" ( (binary_expression "local_c0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }" { (if_statement "if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }" if (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n              uVar21 = 6;\n            }" { (expression_statement "uVar21 = 6;" (assignment_expression "uVar21 = 6" identifier = number_literal) ;) }) (else_clause "else {\n              uVar21 = 4;\n            }" else (compound_statement "{\n              uVar21 = 4;\n            }" { (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" identifier = number_literal) ;) }))) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x2940)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x2940)" ( (binary_expression "PTR_LAB_00190bc0 + 0x2940" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" else (compound_statement "{\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" { (expression_statement "FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);" (call_expression "FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4)" identifier (argument_list "(param_1,unaff_s1,0,local_cc,local_ec,local_c4)" ( identifier , identifier , number_literal , identifier , identifier , identifier ))) ;) (if_statement "if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }" if (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n              uVar21 = 6;\n            }" { (expression_statement "uVar21 = 6;" (assignment_expression "uVar21 = 6" identifier = number_literal) ;) }) (else_clause "else {\n              uVar21 = 4;\n            }" else (compound_statement "{\n              uVar21 = 4;\n            }" { (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" identifier = number_literal) ;) }))) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x2940)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x2940)" ( (binary_expression "PTR_LAB_00190bc0 + 0x2940" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) (if_statement "if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }" if (parenthesized_expression "(((uint)(*param_1)[9] & 0x4000) != 0)" ( (binary_expression "((uint)(*param_1)[9] & 0x4000) != 0" (parenthesized_expression "((uint)(*param_1)[9] & 0x4000)" ( (binary_expression "(uint)(*param_1)[9] & 0x4000" (subscript_expression "(uint)(*param_1)[9]" (call_expression "(uint)(*param_1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }" { (expression_statement "FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);" (call_expression "FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4)" identifier (argument_list "(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) })) }))) })) (if_statement "if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }" if (parenthesized_expression "(local_9c != (int ******)0x0)" ( (binary_expression "local_9c != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x53,local_9c,1,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) })) (expression_statement "ppppppiVar30 = (int ******)0x2;" (assignment_expression "ppppppiVar30 = (int ******)0x2" identifier = (cast_expression "(int ******)0x2" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);" (call_expression "(*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4)" (parenthesized_expression "(*local_d8)" ( (pointer_expression "*local_d8" * identifier) )) (argument_list "(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4)" ( identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" if (parenthesized_expression "(cVar3 == '\x01')" ( (binary_expression "cVar3 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }" { (labeled_statement "LAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" statement_identifier : (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;)) }) (else_clause "else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" else (if_statement "if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" if (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }" { (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;) (expression_statement "(*pcVar20)(unaff_s7,local_d4);" (call_expression "(*pcVar20)(unaff_s7,local_d4)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s7,local_d4)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_88)" ( identifier ))) ;) }) (else_clause "else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" else (compound_statement "{\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" { (if_statement "if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }" if (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0xb,0,local_d4,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (goto_statement "goto LAB_0010e4b8;" goto statement_identifier ;) })) (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;) (expression_statement "(*pcVar20)(unaff_s7,local_d4);" (call_expression "(*pcVar20)(unaff_s7,local_d4)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s7,local_d4)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,5,local_a0,local_ac,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) }))))) (expression_statement "(*pcVar20)(unaff_s7,ppppppiVar9);" (call_expression "(*pcVar20)(unaff_s7,ppppppiVar9)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s7,ppppppiVar9)" ( identifier , identifier ))) ;) (if_statement "if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }" if (parenthesized_expression "((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0))" ( (binary_expression "(((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)" (parenthesized_expression "(((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0))" ( (binary_expression "((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)" (parenthesized_expression "((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0))" ( (binary_expression "(*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)" (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1[0x1e] == (int ******)0x0)" ( (binary_expression "param_1[0x1e] == (int ******)0x0" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) && (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) && (parenthesized_expression "(param_1[0x1c] != (int ******)0x0)" ( (binary_expression "param_1[0x1c] != (int ******)0x0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x4d0c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4d0c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4d0c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4d0c" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) })) (if_statement "if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }" if (parenthesized_expression "(local_9c != (int ******)0x0)" ( (binary_expression "local_9c != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x51,local_9c,1,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7898))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7898)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7898)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7898)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7898" identifier + number_literal) )))) )) (argument_list "(unaff_s7,1)" ( identifier , number_literal ))) ;) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + -0x2a8)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + -0x2a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + -0x2a8)" ( (binary_expression "PTR_LAB_00190bc0 + -0x2a8" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0)" ( identifier , number_literal , number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20" identifier + number_literal) , number_literal ))) ;) })) })) }) (else_clause "else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" else (compound_statement "{\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" { (expression_statement "unaff_s7 = (int *******)param_1[2];" (assignment_expression "unaff_s7 = (int *******)param_1[2]" identifier = (cast_expression "(int *******)param_1[2]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (for_statement "for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }" for ( (assignment_expression "pcVar29 = *(code **)(unaff_s1 + 0x40)" identifier = (pointer_expression "*(code **)(unaff_s1 + 0x40)" * (cast_expression "(code **)(unaff_s1 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 0x40)" ( (binary_expression "unaff_s1 + 0x40" identifier + number_literal) ))))) ; (parenthesized_expression "(pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29))" ( (binary_expression "pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29)" (binary_expression "pcVar29 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(*param_1 != *(int *******)pcVar29)" ( (binary_expression "*param_1 != *(int *******)pcVar29" (pointer_expression "*param_1" * identifier) != (pointer_expression "*(int *******)pcVar29" * (cast_expression "(int *******)pcVar29" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))) )) ; (assignment_expression "pcVar29 = *(code **)(pcVar29 + 0x18)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x18)" * (cast_expression "(code **)(pcVar29 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x18)" ( (binary_expression "pcVar29 + 0x18" identifier + number_literal) ))))) ) (compound_statement "{\n        }" { })) (expression_statement "local_e8 = param_1[10];" (assignment_expression "local_e8 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);" (assignment_expression "ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2)" identifier = (cast_expression "(int ******)(*(short *)(unaff_s1 + 0x2a) + 2)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(short *)(unaff_s1 + 0x2a) + 2)" ( (binary_expression "*(short *)(unaff_s1 + 0x2a) + 2" (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_e4 = *(int *******)(param_2 + 0x30);" (assignment_expression "local_e4 = *(int *******)(param_2 + 0x30)" identifier = (pointer_expression "*(int *******)(param_2 + 0x30)" * (cast_expression "(int *******)(param_2 + 0x30)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "param_1[10] = (int ******)((int)local_e8 + 1);" (assignment_expression "param_1[10] = (int ******)((int)local_e8 + 1)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(int ******)((int)local_e8 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_e8 + 1)" ( (binary_expression "(int)local_e8 + 1" (cast_expression "(int)local_e8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);" (assignment_expression "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" identifier = (cast_expression "(int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x71,local_e8,ppppppiVar9,0)" ( identifier , number_literal , identifier , identifier , number_literal ))))) ;) (expression_statement "ppppppiVar22 = param_1[0xb];" (assignment_expression "ppppppiVar22 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (expression_statement "local_d8 = (code *)((int)ppppppiVar22 + 1);" (assignment_expression "local_d8 = (code *)((int)ppppppiVar22 + 1)" identifier = (cast_expression "(code *)((int)ppppppiVar22 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar22 + 1)" ( (binary_expression "(int)ppppppiVar22 + 1" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);" (assignment_expression "local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" identifier = (cast_expression "(int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" ( (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22 + 2U" (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_d0;" (assignment_expression "param_1[0xb] = local_d0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);" (assignment_expression "local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" identifier = (cast_expression "(int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" identifier (argument_list "(param_1,param_2,param_4,0,0,4,0)" ( identifier , identifier , identifier , number_literal , number_literal , number_literal , number_literal ))))) ;) (expression_statement "local_c8 = (int ******)0x0;" (assignment_expression "local_c8 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar30 = ppppppiVar22;" (assignment_expression "ppppppiVar30 = ppppppiVar22" identifier = identifier) ;) (if_statement "if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }" if (parenthesized_expression "(local_d4 != (int ******)0x0)" ( (binary_expression "local_d4 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }" { (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }" { (expression_statement "local_c8 = (int ******)((int)ppppppiVar22 + 3);" (assignment_expression "local_c8 = (int ******)((int)ppppppiVar22 + 3)" identifier = (cast_expression "(int ******)((int)ppppppiVar22 + 3)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar22 + 3)" ( (binary_expression "(int)ppppppiVar22 + 3" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);" (assignment_expression "local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc)" identifier = (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar28 = local_ec;" (assignment_expression "pcVar28 = local_ec" identifier = identifier) ;) (do_statement "do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));" do (compound_statement "{\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            }" { (if_statement "if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" if (parenthesized_expression "(*(int *)pcVar28 < 0)" ( (binary_expression "*(int *)pcVar28 < 0" (pointer_expression "*(int *)pcVar28" * (cast_expression "(int *)pcVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }" { (expression_statement "(*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);" (call_expression "(*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8)" ( identifier , number_literal , identifier , identifier , (binary_expression "(int)local_c8 + iVar8" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ;) (if_statement "if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }" if (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" ( (binary_expression "0 < (int)unaff_s7[0x1b]" number_literal < (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }" { (expression_statement "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;" (assignment_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1" (pointer_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" * (cast_expression "(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" else (compound_statement "{\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" { (expression_statement "(*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);" (call_expression "(*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1])" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) (argument_list "(param_1,param_3[*(int *)pcVar28 * 5 + 1])" ( identifier , (subscript_expression "param_3[*(int *)pcVar28 * 5 + 1]" identifier [ (binary_expression "*(int *)pcVar28 * 5 + 1" (binary_expression "*(int *)pcVar28 * 5" (pointer_expression "*(int *)pcVar28" * (cast_expression "(int *)pcVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal) + number_literal) ]) ))) ;) }))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar28 = pcVar28 + 4;" (assignment_expression "pcVar28 = pcVar28 + 4" identifier = (binary_expression "pcVar28 + 4" identifier + number_literal)) ;) (expression_statement "local_c0 = ppppppiVar26;" (assignment_expression "local_c0 = ppppppiVar26" identifier = identifier) ;) (expression_statement "local_bc = param_4;" (assignment_expression "local_bc = param_4" identifier = identifier) ;) }) while (parenthesized_expression "(iVar8 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "iVar8 < *(short *)(unaff_s1 + 0x2a)" identifier < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) ;) })) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }" { (expression_statement "(*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);" (call_expression "(*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x80,local_e4,local_d8,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" if (parenthesized_expression "(local_b8 == (code *)0x0)" ( (binary_expression "local_b8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }" { (expression_statement "(*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);" (call_expression "(*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0)" ( identifier , number_literal , identifier , (binary_expression "(int)ppppppiVar22 + 2" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" else (compound_statement "{\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);" (call_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))" ( (pointer_expression "*(code *)(PTR_LAB_00190c58 + -0x7cdc)" * (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(param_1,local_b8)" ( identifier , identifier ))) ;) }))) }) (else_clause "else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" else (compound_statement "{\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" { (expression_statement "iVar8 = *(int *)(unaff_s1 + 8);" (assignment_expression "iVar8 = *(int *)(unaff_s1 + 8)" identifier = (pointer_expression "*(int *)(unaff_s1 + 8)" * (cast_expression "(int *)(unaff_s1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 8)" ( (binary_expression "unaff_s1 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }" { (labeled_statement "LAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar13 = (code *)trap(0);" statement_identifier : comment (expression_statement "pcVar13 = (code *)trap(0);" (assignment_expression "pcVar13 = (code *)trap(0)" identifier = (cast_expression "(code *)trap(0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "trap(0)" identifier (argument_list "(0)" ( number_literal ))))) ;)) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x37);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x37)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x37)" * (cast_expression "(byte *)(iVar8 + 0x37)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x37)" ( (binary_expression "iVar8 + 0x37" identifier + number_literal) ))))) ;) (while_statement "while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }" while (parenthesized_expression "((bVar4 & 0xc0) != 0x80)" ( (binary_expression "(bVar4 & 0xc0) != 0x80" (parenthesized_expression "(bVar4 & 0xc0)" ( (binary_expression "bVar4 & 0xc0" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }" { (expression_statement "iVar8 = *(int *)(iVar8 + 0x14);" (assignment_expression "iVar8 = *(int *)(iVar8 + 0x14)" identifier = (pointer_expression "*(int *)(iVar8 + 0x14)" * (cast_expression "(int *)(iVar8 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) goto LAB_0010f910;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010f910;" goto statement_identifier ;)) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x37);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x37)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x37)" * (cast_expression "(byte *)(iVar8 + 0x37)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x37)" ( (binary_expression "iVar8 + 0x37" identifier + number_literal) ))))) ;) })) (expression_statement "local_c8 = (int ******)(int)**(short **)(iVar8 + 4);" (assignment_expression "local_c8 = (int ******)(int)**(short **)(iVar8 + 4)" identifier = (cast_expression "(int ******)(int)**(short **)(iVar8 + 4)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (cast_expression "(int)**(short **)(iVar8 + 4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "**(short **)(iVar8 + 4)" * (pointer_expression "*(short **)(iVar8 + 4)" * (cast_expression "(short **)(iVar8 + 4)" ( (type_descriptor "short **" (sized_type_specifier "short" short) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) )))))))) ;) (expression_statement "(*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);" (call_expression "(*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0xa4,local_e4,local_c8,local_d8)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;" (call_expression "(*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)" ( identifier , number_literal , (binary_expression "(int)ppppppiVar22 + 3U + (int)local_c8" (binary_expression "(int)ppppppiVar22 + 3U" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)ppppppiVar22 + 2" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) }))) (expression_statement "local_34 = (int ******)local_d4[6];" (assignment_expression "local_34 = (int ******)local_d4[6]" identifier = (cast_expression "(int ******)local_d4[6]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_d4[6]" identifier [ number_literal ]))) ;) (expression_statement "local_30 = (int ******)local_d4[7];" (assignment_expression "local_30 = (int ******)local_d4[7]" identifier = (cast_expression "(int ******)local_d4[7]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_d4[7]" identifier [ number_literal ]))) ;) (expression_statement "ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);" (assignment_expression "ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31)" identifier = (binary_expression "(int ******)(uint)*(byte *)((int)local_d4 + 0x31)" (cast_expression "(int ******)(uint)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)local_d4 + 0x31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_d4 + 0x31)" ( (binary_expression "(int)local_d4 + 0x31" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" if (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" ( (binary_expression "ppppppiVar30 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }" { (expression_statement "pppppppiVar14 = (int *******)param_1[0x1d];" (assignment_expression "pppppppiVar14 = (int *******)param_1[0x1d]" identifier = (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) (if_statement "if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }" if (parenthesized_expression "((int *******)param_1[0x1d] == (int *******)0x0)" ( (binary_expression "(int *******)param_1[0x1d] == (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n              pppppppiVar14 = param_1;\n            }" { (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) ;) })) (expression_statement "local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" identifier = (cast_expression "(int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" ( (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22 + 1U" (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "*(undefined1 *)(pppppppiVar14 + 5) = 1;" (assignment_expression "*(undefined1 *)(pppppppiVar14 + 5) = 1" (pointer_expression "*(undefined1 *)(pppppppiVar14 + 5)" * (cast_expression "(undefined1 *)(pppppppiVar14 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppiVar14 + 5)" ( (binary_expression "pppppppiVar14 + 5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);" (call_expression "(*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);" (call_expression "(*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x79,local_e8,local_d0,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);" (call_expression "(*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x7a,local_e8,local_e4,local_d0)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_d4)" ( identifier ))) ;) (expression_statement "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);" (assignment_expression "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" identifier = (cast_expression "(int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x24,local_e8,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))))) ;) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }" if (parenthesized_expression "(0 < (int)ppppppiVar9)" ( (binary_expression "0 < (int)ppppppiVar9" number_literal < (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }" { (do_statement "do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);" do (compound_statement "{\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              }" { (expression_statement "local_e4 = (int ******)((int)ppppppiVar22 + 1);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar22 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar22 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar22 + 1)" ( (binary_expression "(int)ppppppiVar22 + 1" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);" (call_expression "(*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22)" ( identifier , number_literal , identifier , identifier , (binary_expression "local_d8 + (int)ppppppiVar22" identifier + (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "ppppppiVar22 = local_e4;" (assignment_expression "ppppppiVar22 = local_e4" identifier = identifier) ;) }) while (parenthesized_expression "(ppppppiVar9 != local_e4)" ( (binary_expression "ppppppiVar9 != local_e4" identifier != identifier) )) ;) })) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2478)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2478)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2478" identifier + number_literal) )))) )) (argument_list "(*unaff_s7,unaff_s7 + 0x1a,local_e0)" ( (pointer_expression "*unaff_s7" * identifier) , (binary_expression "unaff_s7 + 0x1a" identifier + number_literal) , identifier ))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x75,local_e4,0,0);" (call_expression "(*pcVar13)(unaff_s7,0x75,local_e4,0,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x75,local_e4,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) (expression_statement "pppppppiVar14 = local_e0;" (assignment_expression "pppppppiVar14 = local_e0" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c2c + -0x3f00))" ( (pointer_expression "*(code *)(PTR_LAB_00190c2c + -0x3f00)" * (cast_expression "(code *)(PTR_LAB_00190c2c + -0x3f00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + -0x3f00)" ( (binary_expression "PTR_LAB_00190c2c + -0x3f00" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1)" ( identifier , identifier ))) ;) (expression_statement "uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);" (assignment_expression "uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8)" identifier = (call_expression "(*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,10,0,ppppppiVar9,local_d8)" ( identifier , number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + 0x7a3c)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x7a3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x7a3c)" ( (binary_expression "PTR_LAB_00190ba4 + 0x7a3c" identifier + number_literal) )))) )) (argument_list "(unaff_s7,uVar21,pcVar29,0xfffffff4)" ( identifier , identifier , identifier , number_literal ))) ;) (if_statement "if (param_5 == 0xb) {\n            param_5 = 2;\n          }" if (parenthesized_expression "(param_5 == 0xb)" ( (binary_expression "param_5 == 0xb" identifier == number_literal) )) (compound_statement "{\n            param_5 = 2;\n          }" { (expression_statement "param_5 = 2;" (assignment_expression "param_5 = 2" identifier = number_literal) ;) })) (if_statement "if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }" if (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" ( (binary_expression "0 < (int)unaff_s7[0x1b]" number_literal < (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }" { (expression_statement "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;" (assignment_expression "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5" (pointer_expression "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" * (cast_expression "(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = (cast_expression "(short)param_5" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) })) (if_statement "if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }" if (parenthesized_expression "((int *******)param_1[0x1d] != (int *******)0x0)" ( (binary_expression "(int *******)param_1[0x1d] != (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) != (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            param_1 = (int *******)param_1[0x1d];\n          }" { (expression_statement "param_1 = (int *******)param_1[0x1d];" (assignment_expression "param_1 = (int *******)param_1[0x1d]" identifier = (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) })) (expression_statement "*(undefined1 *)((int)param_1 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x15)" * (cast_expression "(undefined1 *)((int)param_1 + 0x15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x15)" ( (binary_expression "(int)param_1 + 0x15" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" if (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" ( (binary_expression "ppppppiVar30 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }" { (expression_statement "(*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);" (call_expression "(*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,5,local_e8,(int)local_e0 + 1,0)" ( identifier , number_literal , identifier , (binary_expression "(int)local_e0 + 1" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (if_statement "if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }" if (parenthesized_expression "((int)local_e0 < 0)" ( (binary_expression "(int)local_e0 < 0" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }" { (expression_statement "local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);" (assignment_expression "local_e0 = (int *******)((int)unaff_s7[0x1b] + -1)" identifier = (cast_expression "(int *******)((int)unaff_s7[0x1b] + -1)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)unaff_s7[0x1b] + -1)" ( (binary_expression "(int)unaff_s7[0x1b] + -1" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) + number_literal) )))) ;) })) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }" { (expression_statement "ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;" (assignment_expression "ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6" identifier = (binary_expression "unaff_s7[0x1a] + (int)local_e0 * 6" (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ]) + (binary_expression "(int)local_e0 * 6" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) }) (else_clause "else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" else (compound_statement "{\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" { (expression_statement "ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);" (assignment_expression "ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc)" identifier = (cast_expression "(int ******)(PTR_DAT_00190948 + 0xfbc)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_DAT_00190948 + 0xfbc)" ( (binary_expression "PTR_DAT_00190948 + 0xfbc" identifier + number_literal) )))) ;) }))) (expression_statement "ppppppiVar9[2] = (int *****)unaff_s7[0x1b];" (assignment_expression "ppppppiVar9[2] = (int *****)unaff_s7[0x1b]" (subscript_expression "ppppppiVar9[2]" identifier [ number_literal ]) = (cast_expression "(int *****)unaff_s7[0x1b]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x75,local_e8,0,0);" (call_expression "(*pcVar13)(unaff_s7,0x75,local_e8,0,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x75,local_e8,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_d4)" ( identifier ))) ;) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) ;) }))) })) }))) })) (labeled_statement "LAB_0010d60c:\n    pppppppiVar16 = local_58;" statement_identifier : (expression_statement "pppppppiVar16 = local_58;" (assignment_expression "pppppppiVar16 = local_58" identifier = identifier) ;)) (if_statement "if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }" if (parenthesized_expression "(local_58 != (int *******)0x0)" ( (binary_expression "local_58 != (int *******)0x0" identifier != (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }" { (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppiVar16[0x3b] = local_5c;" (assignment_expression "pppppppiVar16[0x3b] = local_5c" (subscript_expression "pppppppiVar16[0x3b]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2368)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,local_ec)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x210c)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,param_2)" ( identifier , identifier ))) ;) (expression_statement "param_1 = pppppppiVar14;" (assignment_expression "param_1 = pppppppiVar14" identifier = identifier) ;) (expression_statement "unaff_s1 = pcVar20;" (assignment_expression "unaff_s1 = pcVar20" identifier = identifier) ;) (expression_statement "unaff_s5 = pcVar29;" (assignment_expression "unaff_s5 = pcVar29" identifier = identifier) ;) (expression_statement "unaff_s8 = ppppppiVar30;" (assignment_expression "unaff_s8 = ppppppiVar30" identifier = identifier) ;) (labeled_statement "LAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x4644)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x4644)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x4644)" ( (binary_expression "PTR_LAB_00190bb8 + -0x4644" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,param_3)" ( identifier , identifier ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void sqlite3Update(Parse *pParse,SrcList *pTabList,ExprList *pChanges,Expr *pWhere,int onError,\n                  ExprList *pOrderBy,Expr *pLimit,Upsert *pUpsert)\n\n{\n  byte *pbVar1;\n  u8 uVar2;\n  byte bVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  WhereInfo *pWVar8;\n  int iVar9;\n  u32 uVar10;\n  TableLock *pTVar11;\n  u16 wctrlFlags;\n  undefined4 uVar12;\n  code *pcVar13;\n  Index *pIVar14;\n  Parse *pPVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  byte *pbVar18;\n  Parse *pPVar19;\n  Op *pOVar20;\n  byte *pbVar21;\n  char *pcVar22;\n  Column *pCVar23;\n  sqlite3 *psVar24;\n  short *psVar25;\n  undefined4 uVar26;\n  code *pcVar27;\n  uint uVar28;\n  byte *pbVar29;\n  Parse *unaff_s0;\n  uint uVar30;\n  Table *unaff_s1;\n  Table *pTVar31;\n  sqlite3 *psVar32;\n  ExprList_item *pEVar33;\n  code *pcVar34;\n  Table *unaff_s5;\n  Table *pTVar35;\n  Parse *unaff_s7;\n  code *pcVar36;\n  Expr *pEVar37;\n  WhereInfo *unaff_s8;\n  WhereInfo *pWVar38;\n  Expr *pEStack_f8;\n  Expr *pEStack_f4;\n  code *pcStack_f0;\n  code *pcStack_ec;\n  Upsert *pUStack_e8;\n  code *pcStack_e4;\n  Parse *pPStack_e0;\n  code *pcStack_dc;\n  code *pcStack_d8;\n  WhereInfo *pWStack_d4;\n  Trigger *pTStack_d0;\n  code *pcStack_cc;\n  WhereInfo *pWStack_c8;\n  code *pcStack_c4;\n  sqlite3 *psStack_c0;\n  Select *pSStack_bc;\n  Expr *pEStack_b8;\n  int iStack_b4;\n  int iStack_ac;\n  code *pcStack_a8;\n  code *pcStack_a4;\n  int iStack_a0;\n  int iStack_9c;\n  code *pcStack_98;\n  int iStack_94;\n  Parse *pPStack_90;\n  code *pcStack_8c;\n  WhereInfo *pWStack_88;\n  int tmask;\n  int bReplace;\n  AuthContext sContext;\n  NameContext sNC;\n  int aiCurOnePass [2];\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  pEStack_f8 = (Expr *)pOrderBy;\n  psVar32 = pParse->db;\n  iVar17 = *(int *)PTR___stack_chk_guard_00190e24;\n  pEStack_f4 = pLimit;\n  bReplace = 0;\n  sContext.zAuthContext = (char *)0x0;\n  sContext.pParse = (Parse *)0x0;\n  pUStack_e8 = pUpsert;\n  if ((pParse->nErr != 0) || (psVar32->mallocFailed != '\0')) goto LAB_0010d4a8;\n  unaff_s1 = sqlite3SrcListLookup(pParse,pTabList);\n  if (unaff_s1 != (Table *)0x0) {\n    if (unaff_s1->pSchema == (Schema *)0x0) {\n      iStack_b4 = -1000000;\n    }\n    else {\n      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);\n    }\n    pTStack_d0 = (Trigger *)\n                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask);\n    pSStack_bc = unaff_s1->pSelect;\n    if (pSStack_bc == (Select *)0x0) {\n      pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = sqlite3ViewGetColumnNames(pParse,unaff_s1);\n    if ((iVar7 == 0) &&\n       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0))\n    {\n      pWStack_d4 = (WhereInfo *)pParse->nTab;\n      pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);\n      pParse->nTab = (int)pWStack_c8;\n      pTVar35 = (Table *)unaff_s1->pIndex;\n      unaff_s8 = pWStack_d4;\n      if ((unaff_s1->tabFlags & 0x20) == 0) {\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }\n      if (pUpsert != (Upsert *)0x0) {\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }\n      pTabList->a[0].iCursor = (int)unaff_s8;\n      pcStack_a8 = (code *)(uint)psVar32->mallocFailed;\n      unaff_s7 = pPStack_90;\n      if ((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)) {\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = pParse;\n  if (sContext.pParse != (Parse *)0x0) {\n    (sContext.pParse)->zAuthContext = sContext.zAuthContext;\n    sContext.pParse = (Parse *)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);\n  pParse = unaff_s0;\n  if (pChanges != (ExprList *)0x0) goto LAB_0010d64c;\n  do {\n    if ((Select *)pWhere != (Select *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);\n    }\n    if (pEStack_f8 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);\n    }\n    if (pEStack_f4 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);\n    }\n    if (iVar17 == *(int *)puVar5) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    pcVar27 = pcStack_e4;\n    if (pcVar13 == (code *)0x0) {\n      iStack_94 = 0;\n      pcStack_cc = pcStack_e4;\n    }\n    else {\n      iStack_94 = 0;\nLAB_0010dd48:\n      pcVar27 = pcVar27 + 1;\n      pParse->nMem = (int)pcVar27;\n      pcStack_cc = pcVar27;\n    }\nLAB_0010dd54:\n    pcStack_8c = pcVar27 + 1;\n    pParse->nMem = (int)(pcVar27 + unaff_s1->nCol);\nLAB_0010dd68:\n    if (pSStack_bc != (Select *)0x0) {\n      sContext.zAuthContext = pParse->zAuthContext;\n      pParse->zAuthContext = unaff_s1->zName;\n      sContext.pParse = pParse;\n      sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere);\n    puVar4 = PTR_LAB_00190bc0;\n    pPVar15 = pParse;\n    pTVar31 = unaff_s1;\n    pTVar35 = unaff_s5;\n    pWVar38 = unaff_s8;\n    if (iVar7 == 0) {\n      if (unaff_s1->nModuleArg == 0) {\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pPVar19 = sContext.pParse;\n    if (sContext.pParse != (Parse *)0x0) {\n      sContext.pParse = (Parse *)0x0;\n      pPVar19->zAuthContext = sContext.zAuthContext;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(psVar32,pcStack_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);\n    pParse = pPVar15;\n    unaff_s1 = pTVar31;\n    unaff_s5 = pTVar35;\n    unaff_s8 = pWVar38;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges);\n  } while( true );\n}\n\n" (function_definition "void sqlite3Update(Parse *pParse,SrcList *pTabList,ExprList *pChanges,Expr *pWhere,int onError,\n                  ExprList *pOrderBy,Expr *pLimit,Upsert *pUpsert)\n\n{\n  byte *pbVar1;\n  u8 uVar2;\n  byte bVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  WhereInfo *pWVar8;\n  int iVar9;\n  u32 uVar10;\n  TableLock *pTVar11;\n  u16 wctrlFlags;\n  undefined4 uVar12;\n  code *pcVar13;\n  Index *pIVar14;\n  Parse *pPVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  byte *pbVar18;\n  Parse *pPVar19;\n  Op *pOVar20;\n  byte *pbVar21;\n  char *pcVar22;\n  Column *pCVar23;\n  sqlite3 *psVar24;\n  short *psVar25;\n  undefined4 uVar26;\n  code *pcVar27;\n  uint uVar28;\n  byte *pbVar29;\n  Parse *unaff_s0;\n  uint uVar30;\n  Table *unaff_s1;\n  Table *pTVar31;\n  sqlite3 *psVar32;\n  ExprList_item *pEVar33;\n  code *pcVar34;\n  Table *unaff_s5;\n  Table *pTVar35;\n  Parse *unaff_s7;\n  code *pcVar36;\n  Expr *pEVar37;\n  WhereInfo *unaff_s8;\n  WhereInfo *pWVar38;\n  Expr *pEStack_f8;\n  Expr *pEStack_f4;\n  code *pcStack_f0;\n  code *pcStack_ec;\n  Upsert *pUStack_e8;\n  code *pcStack_e4;\n  Parse *pPStack_e0;\n  code *pcStack_dc;\n  code *pcStack_d8;\n  WhereInfo *pWStack_d4;\n  Trigger *pTStack_d0;\n  code *pcStack_cc;\n  WhereInfo *pWStack_c8;\n  code *pcStack_c4;\n  sqlite3 *psStack_c0;\n  Select *pSStack_bc;\n  Expr *pEStack_b8;\n  int iStack_b4;\n  int iStack_ac;\n  code *pcStack_a8;\n  code *pcStack_a4;\n  int iStack_a0;\n  int iStack_9c;\n  code *pcStack_98;\n  int iStack_94;\n  Parse *pPStack_90;\n  code *pcStack_8c;\n  WhereInfo *pWStack_88;\n  int tmask;\n  int bReplace;\n  AuthContext sContext;\n  NameContext sNC;\n  int aiCurOnePass [2];\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  pEStack_f8 = (Expr *)pOrderBy;\n  psVar32 = pParse->db;\n  iVar17 = *(int *)PTR___stack_chk_guard_00190e24;\n  pEStack_f4 = pLimit;\n  bReplace = 0;\n  sContext.zAuthContext = (char *)0x0;\n  sContext.pParse = (Parse *)0x0;\n  pUStack_e8 = pUpsert;\n  if ((pParse->nErr != 0) || (psVar32->mallocFailed != '\0')) goto LAB_0010d4a8;\n  unaff_s1 = sqlite3SrcListLookup(pParse,pTabList);\n  if (unaff_s1 != (Table *)0x0) {\n    if (unaff_s1->pSchema == (Schema *)0x0) {\n      iStack_b4 = -1000000;\n    }\n    else {\n      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);\n    }\n    pTStack_d0 = (Trigger *)\n                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask);\n    pSStack_bc = unaff_s1->pSelect;\n    if (pSStack_bc == (Select *)0x0) {\n      pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = sqlite3ViewGetColumnNames(pParse,unaff_s1);\n    if ((iVar7 == 0) &&\n       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0))\n    {\n      pWStack_d4 = (WhereInfo *)pParse->nTab;\n      pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);\n      pParse->nTab = (int)pWStack_c8;\n      pTVar35 = (Table *)unaff_s1->pIndex;\n      unaff_s8 = pWStack_d4;\n      if ((unaff_s1->tabFlags & 0x20) == 0) {\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }\n      if (pUpsert != (Upsert *)0x0) {\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }\n      pTabList->a[0].iCursor = (int)unaff_s8;\n      pcStack_a8 = (code *)(uint)psVar32->mallocFailed;\n      unaff_s7 = pPStack_90;\n      if ((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)) {\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = pParse;\n  if (sContext.pParse != (Parse *)0x0) {\n    (sContext.pParse)->zAuthContext = sContext.zAuthContext;\n    sContext.pParse = (Parse *)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);\n  pParse = unaff_s0;\n  if (pChanges != (ExprList *)0x0) goto LAB_0010d64c;\n  do {\n    if ((Select *)pWhere != (Select *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);\n    }\n    if (pEStack_f8 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);\n    }\n    if (pEStack_f4 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);\n    }\n    if (iVar17 == *(int *)puVar5) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    pcVar27 = pcStack_e4;\n    if (pcVar13 == (code *)0x0) {\n      iStack_94 = 0;\n      pcStack_cc = pcStack_e4;\n    }\n    else {\n      iStack_94 = 0;\nLAB_0010dd48:\n      pcVar27 = pcVar27 + 1;\n      pParse->nMem = (int)pcVar27;\n      pcStack_cc = pcVar27;\n    }\nLAB_0010dd54:\n    pcStack_8c = pcVar27 + 1;\n    pParse->nMem = (int)(pcVar27 + unaff_s1->nCol);\nLAB_0010dd68:\n    if (pSStack_bc != (Select *)0x0) {\n      sContext.zAuthContext = pParse->zAuthContext;\n      pParse->zAuthContext = unaff_s1->zName;\n      sContext.pParse = pParse;\n      sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere);\n    puVar4 = PTR_LAB_00190bc0;\n    pPVar15 = pParse;\n    pTVar31 = unaff_s1;\n    pTVar35 = unaff_s5;\n    pWVar38 = unaff_s8;\n    if (iVar7 == 0) {\n      if (unaff_s1->nModuleArg == 0) {\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pPVar19 = sContext.pParse;\n    if (sContext.pParse != (Parse *)0x0) {\n      sContext.pParse = (Parse *)0x0;\n      pPVar19->zAuthContext = sContext.zAuthContext;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(psVar32,pcStack_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);\n    pParse = pPVar15;\n    unaff_s1 = pTVar31;\n    unaff_s5 = pTVar35;\n    unaff_s8 = pWVar38;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges);\n  } while( true );\n}" primitive_type (function_declarator "sqlite3Update(Parse *pParse,SrcList *pTabList,ExprList *pChanges,Expr *pWhere,int onError,\n                  ExprList *pOrderBy,Expr *pLimit,Upsert *pUpsert)" identifier (parameter_list "(Parse *pParse,SrcList *pTabList,ExprList *pChanges,Expr *pWhere,int onError,\n                  ExprList *pOrderBy,Expr *pLimit,Upsert *pUpsert)" ( (parameter_declaration "Parse *pParse" type_identifier (pointer_declarator "*pParse" * identifier)) , (parameter_declaration "SrcList *pTabList" type_identifier (pointer_declarator "*pTabList" * identifier)) , (parameter_declaration "ExprList *pChanges" type_identifier (pointer_declarator "*pChanges" * identifier)) , (parameter_declaration "Expr *pWhere" type_identifier (pointer_declarator "*pWhere" * identifier)) , (parameter_declaration "int onError" primitive_type identifier) , (parameter_declaration "ExprList *pOrderBy" type_identifier (pointer_declarator "*pOrderBy" * identifier)) , (parameter_declaration "Expr *pLimit" type_identifier (pointer_declarator "*pLimit" * identifier)) , (parameter_declaration "Upsert *pUpsert" type_identifier (pointer_declarator "*pUpsert" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  u8 uVar2;\n  byte bVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int iVar7;\n  WhereInfo *pWVar8;\n  int iVar9;\n  u32 uVar10;\n  TableLock *pTVar11;\n  u16 wctrlFlags;\n  undefined4 uVar12;\n  code *pcVar13;\n  Index *pIVar14;\n  Parse *pPVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  byte *pbVar18;\n  Parse *pPVar19;\n  Op *pOVar20;\n  byte *pbVar21;\n  char *pcVar22;\n  Column *pCVar23;\n  sqlite3 *psVar24;\n  short *psVar25;\n  undefined4 uVar26;\n  code *pcVar27;\n  uint uVar28;\n  byte *pbVar29;\n  Parse *unaff_s0;\n  uint uVar30;\n  Table *unaff_s1;\n  Table *pTVar31;\n  sqlite3 *psVar32;\n  ExprList_item *pEVar33;\n  code *pcVar34;\n  Table *unaff_s5;\n  Table *pTVar35;\n  Parse *unaff_s7;\n  code *pcVar36;\n  Expr *pEVar37;\n  WhereInfo *unaff_s8;\n  WhereInfo *pWVar38;\n  Expr *pEStack_f8;\n  Expr *pEStack_f4;\n  code *pcStack_f0;\n  code *pcStack_ec;\n  Upsert *pUStack_e8;\n  code *pcStack_e4;\n  Parse *pPStack_e0;\n  code *pcStack_dc;\n  code *pcStack_d8;\n  WhereInfo *pWStack_d4;\n  Trigger *pTStack_d0;\n  code *pcStack_cc;\n  WhereInfo *pWStack_c8;\n  code *pcStack_c4;\n  sqlite3 *psStack_c0;\n  Select *pSStack_bc;\n  Expr *pEStack_b8;\n  int iStack_b4;\n  int iStack_ac;\n  code *pcStack_a8;\n  code *pcStack_a4;\n  int iStack_a0;\n  int iStack_9c;\n  code *pcStack_98;\n  int iStack_94;\n  Parse *pPStack_90;\n  code *pcStack_8c;\n  WhereInfo *pWStack_88;\n  int tmask;\n  int bReplace;\n  AuthContext sContext;\n  NameContext sNC;\n  int aiCurOnePass [2];\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  pEStack_f8 = (Expr *)pOrderBy;\n  psVar32 = pParse->db;\n  iVar17 = *(int *)PTR___stack_chk_guard_00190e24;\n  pEStack_f4 = pLimit;\n  bReplace = 0;\n  sContext.zAuthContext = (char *)0x0;\n  sContext.pParse = (Parse *)0x0;\n  pUStack_e8 = pUpsert;\n  if ((pParse->nErr != 0) || (psVar32->mallocFailed != '\0')) goto LAB_0010d4a8;\n  unaff_s1 = sqlite3SrcListLookup(pParse,pTabList);\n  if (unaff_s1 != (Table *)0x0) {\n    if (unaff_s1->pSchema == (Schema *)0x0) {\n      iStack_b4 = -1000000;\n    }\n    else {\n      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);\n    }\n    pTStack_d0 = (Trigger *)\n                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask);\n    pSStack_bc = unaff_s1->pSelect;\n    if (pSStack_bc == (Select *)0x0) {\n      pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = sqlite3ViewGetColumnNames(pParse,unaff_s1);\n    if ((iVar7 == 0) &&\n       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0))\n    {\n      pWStack_d4 = (WhereInfo *)pParse->nTab;\n      pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);\n      pParse->nTab = (int)pWStack_c8;\n      pTVar35 = (Table *)unaff_s1->pIndex;\n      unaff_s8 = pWStack_d4;\n      if ((unaff_s1->tabFlags & 0x20) == 0) {\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }\n      if (pUpsert != (Upsert *)0x0) {\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }\n      pTabList->a[0].iCursor = (int)unaff_s8;\n      pcStack_a8 = (code *)(uint)psVar32->mallocFailed;\n      unaff_s7 = pPStack_90;\n      if ((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)) {\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = pParse;\n  if (sContext.pParse != (Parse *)0x0) {\n    (sContext.pParse)->zAuthContext = sContext.zAuthContext;\n    sContext.pParse = (Parse *)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);\n  pParse = unaff_s0;\n  if (pChanges != (ExprList *)0x0) goto LAB_0010d64c;\n  do {\n    if ((Select *)pWhere != (Select *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);\n    }\n    if (pEStack_f8 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);\n    }\n    if (pEStack_f4 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);\n    }\n    if (iVar17 == *(int *)puVar5) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    pcVar27 = pcStack_e4;\n    if (pcVar13 == (code *)0x0) {\n      iStack_94 = 0;\n      pcStack_cc = pcStack_e4;\n    }\n    else {\n      iStack_94 = 0;\nLAB_0010dd48:\n      pcVar27 = pcVar27 + 1;\n      pParse->nMem = (int)pcVar27;\n      pcStack_cc = pcVar27;\n    }\nLAB_0010dd54:\n    pcStack_8c = pcVar27 + 1;\n    pParse->nMem = (int)(pcVar27 + unaff_s1->nCol);\nLAB_0010dd68:\n    if (pSStack_bc != (Select *)0x0) {\n      sContext.zAuthContext = pParse->zAuthContext;\n      pParse->zAuthContext = unaff_s1->zName;\n      sContext.pParse = pParse;\n      sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere);\n    puVar4 = PTR_LAB_00190bc0;\n    pPVar15 = pParse;\n    pTVar31 = unaff_s1;\n    pTVar35 = unaff_s5;\n    pWVar38 = unaff_s8;\n    if (iVar7 == 0) {\n      if (unaff_s1->nModuleArg == 0) {\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pPVar19 = sContext.pParse;\n    if (sContext.pParse != (Parse *)0x0) {\n      sContext.pParse = (Parse *)0x0;\n      pPVar19->zAuthContext = sContext.zAuthContext;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(psVar32,pcStack_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);\n    pParse = pPVar15;\n    unaff_s1 = pTVar31;\n    unaff_s5 = pTVar35;\n    unaff_s8 = pWVar38;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges);\n  } while( true );\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "u8 uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "WhereInfo *pWVar8;" type_identifier (pointer_declarator "*pWVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "u32 uVar10;" type_identifier identifier ;) (declaration "TableLock *pTVar11;" type_identifier (pointer_declarator "*pTVar11" * identifier) ;) (declaration "u16 wctrlFlags;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "Index *pIVar14;" type_identifier (pointer_declarator "*pIVar14" * identifier) ;) (declaration "Parse *pPVar15;" type_identifier (pointer_declarator "*pPVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "Parse *pPVar19;" type_identifier (pointer_declarator "*pPVar19" * identifier) ;) (declaration "Op *pOVar20;" type_identifier (pointer_declarator "*pOVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "Column *pCVar23;" type_identifier (pointer_declarator "*pCVar23" * identifier) ;) (declaration "sqlite3 *psVar24;" type_identifier (pointer_declarator "*psVar24" * identifier) ;) (declaration "short *psVar25;" (sized_type_specifier "short" short) (pointer_declarator "*psVar25" * identifier) ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "byte *pbVar29;" type_identifier (pointer_declarator "*pbVar29" * identifier) ;) (declaration "Parse *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "Table *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "Table *pTVar31;" type_identifier (pointer_declarator "*pTVar31" * identifier) ;) (declaration "sqlite3 *psVar32;" type_identifier (pointer_declarator "*psVar32" * identifier) ;) (declaration "ExprList_item *pEVar33;" type_identifier (pointer_declarator "*pEVar33" * identifier) ;) (declaration "code *pcVar34;" type_identifier (pointer_declarator "*pcVar34" * identifier) ;) (declaration "Table *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "Table *pTVar35;" type_identifier (pointer_declarator "*pTVar35" * identifier) ;) (declaration "Parse *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "Expr *pEVar37;" type_identifier (pointer_declarator "*pEVar37" * identifier) ;) (declaration "WhereInfo *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "WhereInfo *pWVar38;" type_identifier (pointer_declarator "*pWVar38" * identifier) ;) (declaration "Expr *pEStack_f8;" type_identifier (pointer_declarator "*pEStack_f8" * identifier) ;) (declaration "Expr *pEStack_f4;" type_identifier (pointer_declarator "*pEStack_f4" * identifier) ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "code *pcStack_ec;" type_identifier (pointer_declarator "*pcStack_ec" * identifier) ;) (declaration "Upsert *pUStack_e8;" type_identifier (pointer_declarator "*pUStack_e8" * identifier) ;) (declaration "code *pcStack_e4;" type_identifier (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "Parse *pPStack_e0;" type_identifier (pointer_declarator "*pPStack_e0" * identifier) ;) (declaration "code *pcStack_dc;" type_identifier (pointer_declarator "*pcStack_dc" * identifier) ;) (declaration "code *pcStack_d8;" type_identifier (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "WhereInfo *pWStack_d4;" type_identifier (pointer_declarator "*pWStack_d4" * identifier) ;) (declaration "Trigger *pTStack_d0;" type_identifier (pointer_declarator "*pTStack_d0" * identifier) ;) (declaration "code *pcStack_cc;" type_identifier (pointer_declarator "*pcStack_cc" * identifier) ;) (declaration "WhereInfo *pWStack_c8;" type_identifier (pointer_declarator "*pWStack_c8" * identifier) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "sqlite3 *psStack_c0;" type_identifier (pointer_declarator "*psStack_c0" * identifier) ;) (declaration "Select *pSStack_bc;" type_identifier (pointer_declarator "*pSStack_bc" * identifier) ;) (declaration "Expr *pEStack_b8;" type_identifier (pointer_declarator "*pEStack_b8" * identifier) ;) (declaration "int iStack_b4;" primitive_type identifier ;) (declaration "int iStack_ac;" primitive_type identifier ;) (declaration "code *pcStack_a8;" type_identifier (pointer_declarator "*pcStack_a8" * identifier) ;) (declaration "code *pcStack_a4;" type_identifier (pointer_declarator "*pcStack_a4" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "Parse *pPStack_90;" type_identifier (pointer_declarator "*pPStack_90" * identifier) ;) (declaration "code *pcStack_8c;" type_identifier (pointer_declarator "*pcStack_8c" * identifier) ;) (declaration "WhereInfo *pWStack_88;" type_identifier (pointer_declarator "*pWStack_88" * identifier) ;) (declaration "int tmask;" primitive_type identifier ;) (declaration "int bReplace;" primitive_type identifier ;) (declaration "AuthContext sContext;" type_identifier identifier ;) (declaration "NameContext sNC;" type_identifier identifier ;) (declaration "int aiCurOnePass [2];" primitive_type (array_declarator "aiCurOnePass [2]" identifier [ number_literal ]) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar5 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "pEStack_f8 = (Expr *)pOrderBy;" (assignment_expression "pEStack_f8 = (Expr *)pOrderBy" identifier = (cast_expression "(Expr *)pOrderBy" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar32 = pParse->db;" (assignment_expression "psVar32 = pParse->db" identifier = (field_expression "pParse->db" identifier -> field_identifier)) ;) (expression_statement "iVar17 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "iVar17 = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pEStack_f4 = pLimit;" (assignment_expression "pEStack_f4 = pLimit" identifier = identifier) ;) (expression_statement "bReplace = 0;" (assignment_expression "bReplace = 0" identifier = number_literal) ;) (expression_statement "sContext.zAuthContext = (char *)0x0;" (assignment_expression "sContext.zAuthContext = (char *)0x0" (field_expression "sContext.zAuthContext" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sContext.pParse = (Parse *)0x0;" (assignment_expression "sContext.pParse = (Parse *)0x0" (field_expression "sContext.pParse" identifier . field_identifier) = (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pUStack_e8 = pUpsert;" (assignment_expression "pUStack_e8 = pUpsert" identifier = identifier) ;) (if_statement "if ((pParse->nErr != 0) || (psVar32->mallocFailed != '\0')) goto LAB_0010d4a8;" if (parenthesized_expression "((pParse->nErr != 0) || (psVar32->mallocFailed != '\0'))" ( (binary_expression "(pParse->nErr != 0) || (psVar32->mallocFailed != '\0')" (parenthesized_expression "(pParse->nErr != 0)" ( (binary_expression "pParse->nErr != 0" (field_expression "pParse->nErr" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(psVar32->mallocFailed != '\0')" ( (binary_expression "psVar32->mallocFailed != '\0'" (field_expression "psVar32->mallocFailed" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0010d4a8;" goto statement_identifier ;)) (expression_statement "unaff_s1 = sqlite3SrcListLookup(pParse,pTabList);" (assignment_expression "unaff_s1 = sqlite3SrcListLookup(pParse,pTabList)" identifier = (call_expression "sqlite3SrcListLookup(pParse,pTabList)" identifier (argument_list "(pParse,pTabList)" ( identifier , identifier )))) ;) (if_statement "if (unaff_s1 != (Table *)0x0) {\n    if (unaff_s1->pSchema == (Schema *)0x0) {\n      iStack_b4 = -1000000;\n    }\n    else {\n      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);\n    }\n    pTStack_d0 = (Trigger *)\n                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask);\n    pSStack_bc = unaff_s1->pSelect;\n    if (pSStack_bc == (Select *)0x0) {\n      pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = sqlite3ViewGetColumnNames(pParse,unaff_s1);\n    if ((iVar7 == 0) &&\n       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0))\n    {\n      pWStack_d4 = (WhereInfo *)pParse->nTab;\n      pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);\n      pParse->nTab = (int)pWStack_c8;\n      pTVar35 = (Table *)unaff_s1->pIndex;\n      unaff_s8 = pWStack_d4;\n      if ((unaff_s1->tabFlags & 0x20) == 0) {\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }\n      if (pUpsert != (Upsert *)0x0) {\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }\n      pTabList->a[0].iCursor = (int)unaff_s8;\n      pcStack_a8 = (code *)(uint)psVar32->mallocFailed;\n      unaff_s7 = pPStack_90;\n      if ((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)) {\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }\n    }\n  }" if (parenthesized_expression "(unaff_s1 != (Table *)0x0)" ( (binary_expression "unaff_s1 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (unaff_s1->pSchema == (Schema *)0x0) {\n      iStack_b4 = -1000000;\n    }\n    else {\n      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);\n    }\n    pTStack_d0 = (Trigger *)\n                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask);\n    pSStack_bc = unaff_s1->pSelect;\n    if (pSStack_bc == (Select *)0x0) {\n      pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = sqlite3ViewGetColumnNames(pParse,unaff_s1);\n    if ((iVar7 == 0) &&\n       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0))\n    {\n      pWStack_d4 = (WhereInfo *)pParse->nTab;\n      pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);\n      pParse->nTab = (int)pWStack_c8;\n      pTVar35 = (Table *)unaff_s1->pIndex;\n      unaff_s8 = pWStack_d4;\n      if ((unaff_s1->tabFlags & 0x20) == 0) {\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }\n      if (pUpsert != (Upsert *)0x0) {\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }\n      pTabList->a[0].iCursor = (int)unaff_s8;\n      pcStack_a8 = (code *)(uint)psVar32->mallocFailed;\n      unaff_s7 = pPStack_90;\n      if ((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)) {\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }\n    }\n  }" { (if_statement "if (unaff_s1->pSchema == (Schema *)0x0) {\n      iStack_b4 = -1000000;\n    }\n    else {\n      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);\n    }" if (parenthesized_expression "(unaff_s1->pSchema == (Schema *)0x0)" ( (binary_expression "unaff_s1->pSchema == (Schema *)0x0" (field_expression "unaff_s1->pSchema" identifier -> field_identifier) == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iStack_b4 = -1000000;\n    }" { (expression_statement "iStack_b4 = -1000000;" (assignment_expression "iStack_b4 = -1000000" identifier = number_literal) ;) }) (else_clause "else {\n      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);\n    }" else (compound_statement "{\n      iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);\n    }" { (expression_statement "iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db);" (assignment_expression "iStack_b4 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(pParse->db)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(pParse->db)" ( (field_expression "pParse->db" identifier -> field_identifier) )))) ;) }))) (expression_statement "pTStack_d0 = (Trigger *)\n                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask);" (assignment_expression "pTStack_d0 = (Trigger *)\n                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask)" identifier = (cast_expression "(Trigger *)\n                 (*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask)" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2620))(pParse,unaff_s1,0x76,pChanges,&tmask)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2620))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2620)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2620)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2620)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2620" identifier + number_literal) )))) )) (argument_list "(pParse,unaff_s1,0x76,pChanges,&tmask)" ( identifier , identifier , number_literal , identifier , (pointer_expression "&tmask" & identifier) ))))) ;) (expression_statement "pSStack_bc = unaff_s1->pSelect;" (assignment_expression "pSStack_bc = unaff_s1->pSelect" identifier = (field_expression "unaff_s1->pSelect" identifier -> field_identifier)) ;) (if_statement "if (pSStack_bc == (Select *)0x0) {\n      pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }" if (parenthesized_expression "(pSStack_bc == (Select *)0x0)" ( (binary_expression "pSStack_bc == (Select *)0x0" identifier == (cast_expression "(Select *)0x0" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }" { (expression_statement "pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68);" (assignment_expression "pWhere = (Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68)" identifier = (cast_expression "(Expr *)(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68)" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bc4 + -14000))\n                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -14000))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -14000)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -14000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -14000)" ( (binary_expression "PTR_LAB_00190bc4 + -14000" identifier + number_literal) )))) )) (argument_list "(pParse,pTabList,pWhere,pOrderBy,pLimit,PTR_LAB_00190958 + 0x6b68)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "PTR_LAB_00190958 + 0x6b68" identifier + number_literal) ))))) ;) (expression_statement "pEStack_f4 = (Expr *)0x0;" (assignment_expression "pEStack_f4 = (Expr *)0x0" identifier = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_f8 = (Expr *)0x0;" (assignment_expression "pEStack_f8 = (Expr *)0x0" identifier = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iVar7 = sqlite3ViewGetColumnNames(pParse,unaff_s1);" (assignment_expression "iVar7 = sqlite3ViewGetColumnNames(pParse,unaff_s1)" identifier = (call_expression "sqlite3ViewGetColumnNames(pParse,unaff_s1)" identifier (argument_list "(pParse,unaff_s1)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 == 0) &&\n       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0))\n    {\n      pWStack_d4 = (WhereInfo *)pParse->nTab;\n      pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);\n      pParse->nTab = (int)pWStack_c8;\n      pTVar35 = (Table *)unaff_s1->pIndex;\n      unaff_s8 = pWStack_d4;\n      if ((unaff_s1->tabFlags & 0x20) == 0) {\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }\n      if (pUpsert != (Upsert *)0x0) {\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }\n      pTabList->a[0].iCursor = (int)unaff_s8;\n      pcStack_a8 = (code *)(uint)psVar32->mallocFailed;\n      unaff_s7 = pPStack_90;\n      if ((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)) {\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }\n    }" if (parenthesized_expression "((iVar7 == 0) &&\n       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0))" ( (binary_expression "(iVar7 == 0) &&\n       (iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) && (parenthesized_expression "(iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0)" ( (comma_expression "iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask), iStack_ac == 0" (assignment_expression "iStack_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x73d8))(pParse,unaff_s1,tmask)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x73d8))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x73d8)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x73d8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x73d8)" ( (binary_expression "PTR_LAB_00190bc4 + -0x73d8" identifier + number_literal) )))) )) (argument_list "(pParse,unaff_s1,tmask)" ( identifier , identifier , identifier )))) , (binary_expression "iStack_ac == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      pWStack_d4 = (WhereInfo *)pParse->nTab;\n      pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);\n      pParse->nTab = (int)pWStack_c8;\n      pTVar35 = (Table *)unaff_s1->pIndex;\n      unaff_s8 = pWStack_d4;\n      if ((unaff_s1->tabFlags & 0x20) == 0) {\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }\n      if (pUpsert != (Upsert *)0x0) {\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }\n      pTabList->a[0].iCursor = (int)unaff_s8;\n      pcStack_a8 = (code *)(uint)psVar32->mallocFailed;\n      unaff_s7 = pPStack_90;\n      if ((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)) {\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }\n    }" { (expression_statement "pWStack_d4 = (WhereInfo *)pParse->nTab;" (assignment_expression "pWStack_d4 = (WhereInfo *)pParse->nTab" identifier = (cast_expression "(WhereInfo *)pParse->nTab" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse->nTab" identifier -> field_identifier))) ;) (expression_statement "pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1);" (assignment_expression "pWStack_c8 = (WhereInfo *)((int)&pWStack_d4->pParse + 1)" identifier = (cast_expression "(WhereInfo *)((int)&pWStack_d4->pParse + 1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_d4->pParse + 1)" ( (binary_expression "(int)&pWStack_d4->pParse + 1" (cast_expression "(int)&pWStack_d4->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_d4->pParse" & (field_expression "pWStack_d4->pParse" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pParse->nTab = (int)pWStack_c8;" (assignment_expression "pParse->nTab = (int)pWStack_c8" (field_expression "pParse->nTab" identifier -> field_identifier) = (cast_expression "(int)pWStack_c8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pTVar35 = (Table *)unaff_s1->pIndex;" (assignment_expression "pTVar35 = (Table *)unaff_s1->pIndex" identifier = (cast_expression "(Table *)unaff_s1->pIndex" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s1->pIndex" identifier -> field_identifier))) ;) (expression_statement "unaff_s8 = pWStack_d4;" (assignment_expression "unaff_s8 = pWStack_d4" identifier = identifier) ;) (if_statement "if ((unaff_s1->tabFlags & 0x20) == 0) {\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }" if (parenthesized_expression "((unaff_s1->tabFlags & 0x20) == 0)" ( (binary_expression "(unaff_s1->tabFlags & 0x20) == 0" (parenthesized_expression "(unaff_s1->tabFlags & 0x20)" ( (binary_expression "unaff_s1->tabFlags & 0x20" (field_expression "unaff_s1->tabFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        unaff_s5 = (Table *)0x0;\n        if (pTVar35 != (Table *)0x0) goto LAB_0010d700;\n        pPStack_90 = (Parse *)0x0;\n      }" { (expression_statement "unaff_s5 = (Table *)0x0;" (assignment_expression "unaff_s5 = (Table *)0x0" identifier = (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pTVar35 != (Table *)0x0) goto LAB_0010d700;" if (parenthesized_expression "(pTVar35 != (Table *)0x0)" ( (binary_expression "pTVar35 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d700;" goto statement_identifier ;)) (expression_statement "pPStack_90 = (Parse *)0x0;" (assignment_expression "pPStack_90 = (Parse *)0x0" identifier = (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }" else (if_statement "if (pTVar35 == (Table *)0x0) {\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }\n      else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }" if (parenthesized_expression "(pTVar35 == (Table *)0x0)" ( (binary_expression "pTVar35 == (Table *)0x0" identifier == (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        unaff_s5 = (Table *)0x0;\n        pPStack_90 = (Parse *)0x0;\n      }" { (expression_statement "unaff_s5 = (Table *)0x0;" (assignment_expression "unaff_s5 = (Table *)0x0" identifier = (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pPStack_90 = (Parse *)0x0;" (assignment_expression "pPStack_90 = (Parse *)0x0" identifier = (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }" else (compound_statement "{\n        bVar3 = (byte)pTVar35->addColOffset;\n        unaff_s5 = pTVar35;\n        while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }\nLAB_0010d700:\n        pWVar38 = pWStack_c8;\n        do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);\n      }" { (expression_statement "bVar3 = (byte)pTVar35->addColOffset;" (assignment_expression "bVar3 = (byte)pTVar35->addColOffset" identifier = (cast_expression "(byte)pTVar35->addColOffset" ( (type_descriptor "byte" type_identifier) ) (field_expression "pTVar35->addColOffset" identifier -> field_identifier))) ;) (expression_statement "unaff_s5 = pTVar35;" (assignment_expression "unaff_s5 = pTVar35" identifier = identifier) ;) (while_statement "while (((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))) {\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }" while (parenthesized_expression "(((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0)))" ( (parenthesized_expression "((bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0))" ( (binary_expression "(bVar3 & 0xc0) != 0x80 &&\n               (unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0)" (binary_expression "(bVar3 & 0xc0) != 0x80" (parenthesized_expression "(bVar3 & 0xc0)" ( (binary_expression "bVar3 & 0xc0" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0)" ( (comma_expression "unaff_s5 = (Table *)unaff_s5->zColAff, unaff_s5 != (Table *)0x0" (assignment_expression "unaff_s5 = (Table *)unaff_s5->zColAff" identifier = (cast_expression "(Table *)unaff_s5->zColAff" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s5->zColAff" identifier -> field_identifier))) , (binary_expression "unaff_s5 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) )) (compound_statement "{\n          bVar3 = (byte)unaff_s5->addColOffset;\n        }" { (expression_statement "bVar3 = (byte)unaff_s5->addColOffset;" (assignment_expression "bVar3 = (byte)unaff_s5->addColOffset" identifier = (cast_expression "(byte)unaff_s5->addColOffset" ( (type_descriptor "byte" type_identifier) ) (field_expression "unaff_s5->addColOffset" identifier -> field_identifier))) ;) })) (labeled_statement "LAB_0010d700:\n        pWVar38 = pWStack_c8;" statement_identifier : (expression_statement "pWVar38 = pWStack_c8;" (assignment_expression "pWVar38 = pWStack_c8" identifier = identifier) ;)) (do_statement "do {\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        } while (pTVar35 != (Table *)0x0);" do (compound_statement "{\n          if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }\n          pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n          pParse->nTab = (int)pWVar38;\n          pTVar35 = (Table *)pTVar35->zColAff;\n          pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));\n        }" { (if_statement "if (unaff_s5 == pTVar35) {\n            unaff_s8 = pWVar38;\n          }" if (parenthesized_expression "(unaff_s5 == pTVar35)" ( (binary_expression "unaff_s5 == pTVar35" identifier == identifier) )) (compound_statement "{\n            unaff_s8 = pWVar38;\n          }" { (expression_statement "unaff_s8 = pWVar38;" (assignment_expression "unaff_s8 = pWVar38" identifier = identifier) ;) })) (expression_statement "pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);" (assignment_expression "pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1)" identifier = (cast_expression "(WhereInfo *)((int)&pWVar38->pParse + 1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar38->pParse + 1)" ( (binary_expression "(int)&pWVar38->pParse + 1" (cast_expression "(int)&pWVar38->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar38->pParse" & (field_expression "pWVar38->pParse" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pParse->nTab = (int)pWVar38;" (assignment_expression "pParse->nTab = (int)pWVar38" (field_expression "pParse->nTab" identifier -> field_identifier) = (cast_expression "(int)pWVar38" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pTVar35 = (Table *)pTVar35->zColAff;" (assignment_expression "pTVar35 = (Table *)pTVar35->zColAff" identifier = (cast_expression "(Table *)pTVar35->zColAff" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTVar35->zColAff" identifier -> field_identifier))) ;) (expression_statement "pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18));" (assignment_expression "pPStack_90 = (Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18))" identifier = (cast_expression "(Parse *)((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18))" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18))" ( (binary_expression "(int)pWVar38->aiCurOnePass + (~(uint)pWStack_d4 - 0x18)" (cast_expression "(int)pWVar38->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWVar38->aiCurOnePass" identifier -> field_identifier)) + (parenthesized_expression "(~(uint)pWStack_d4 - 0x18)" ( (binary_expression "~(uint)pWStack_d4 - 0x18" (unary_expression "~(uint)pWStack_d4" ~ (cast_expression "(uint)pWStack_d4" ( (type_descriptor "uint" type_identifier) ) identifier)) - number_literal) ))) )))) ;) }) while (parenthesized_expression "(pTVar35 != (Table *)0x0)" ( (binary_expression "pTVar35 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))))) (if_statement "if (pUpsert != (Upsert *)0x0) {\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }" if (parenthesized_expression "(pUpsert != (Upsert *)0x0)" ( (binary_expression "pUpsert != (Upsert *)0x0" identifier != (cast_expression "(Upsert *)0x0" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        unaff_s8 = (WhereInfo *)pUpsert->iDataCur;\n        pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;\n        pParse->nTab = (int)pWStack_d4;\n      }" { (expression_statement "unaff_s8 = (WhereInfo *)pUpsert->iDataCur;" (assignment_expression "unaff_s8 = (WhereInfo *)pUpsert->iDataCur" identifier = (cast_expression "(WhereInfo *)pUpsert->iDataCur" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pUpsert->iDataCur" identifier -> field_identifier))) ;) (expression_statement "pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur;" (assignment_expression "pWStack_c8 = (WhereInfo *)pUpsert->iIdxCur" identifier = (cast_expression "(WhereInfo *)pUpsert->iIdxCur" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pUpsert->iIdxCur" identifier -> field_identifier))) ;) (expression_statement "pParse->nTab = (int)pWStack_d4;" (assignment_expression "pParse->nTab = (int)pWStack_d4" (field_expression "pParse->nTab" identifier -> field_identifier) = (cast_expression "(int)pWStack_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pTabList->a[0].iCursor = (int)unaff_s8;" (assignment_expression "pTabList->a[0].iCursor = (int)unaff_s8" (field_expression "pTabList->a[0].iCursor" (subscript_expression "pTabList->a[0]" (field_expression "pTabList->a" identifier -> field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcStack_a8 = (code *)(uint)psVar32->mallocFailed;" (assignment_expression "pcStack_a8 = (code *)(uint)psVar32->mallocFailed" identifier = (cast_expression "(code *)(uint)psVar32->mallocFailed" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)psVar32->mallocFailed" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar32->mallocFailed" identifier -> field_identifier)))) ;) (expression_statement "unaff_s7 = pPStack_90;" (assignment_expression "unaff_s7 = pPStack_90" identifier = identifier) ;) (if_statement "if ((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)) {\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }" if (parenthesized_expression "((pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0))" ( (binary_expression "(pcStack_a8 == (code *)0x0) &&\n         (pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)" (parenthesized_expression "(pcStack_a8 == (code *)0x0)" ( (binary_expression "pcStack_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0)" ( (comma_expression "pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32),\n         pcStack_ec != (code *)0x0" (assignment_expression "pcStack_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32)" identifier = (cast_expression "(code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))(psVar32)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x854)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x854)" ( (binary_expression "PTR_LAB_00190ba8 + 0x854" identifier + number_literal) )))) )) (argument_list "(psVar32)" ( identifier ))))) , (binary_expression "pcStack_ec != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;\n        pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1);\n        (pcStack_98 + (int)pPStack_90)[1] = (code)0x0;\n        if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }\n        sNC.pNext = (NameContext *)0x0;\n        sNC.nRef = 0;\n        sNC.uNC.pUpsert = pUpsert;\n        sNC.nErr = 0;\n        sNC.pWinSelect = (Select *)0x0;\n        sNC.ncFlags = 0x200;\n        sNC._26_2_ = 0;\n        sNC.pParse = pParse;\n        sNC.pSrcList = pTabList;\n        if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }\n        pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);\n        iVar7 = -(uint)(unaff_s1->nModuleArg != 0);\n        pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(int *)&pTabList->a[0].colUsed = iVar7;\n        *(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;\n        psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);\n        if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));\nLAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;\n        if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);\n        if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }\n        iVar7 = pParse->nMem;\n        pcStack_e4 = (code *)(iVar7 + 2);\n        iStack_ac = iVar7 + 1;\n        pParse->nMem = (int)pcStack_e4;\n        if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }\n        iStack_94 = iVar7 + 3;\n        pcVar27 = (code *)pParse->nMem;\n        goto LAB_0010dd48;\n      }" { (expression_statement "pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4;" (assignment_expression "pcStack_a4 = pcStack_ec + unaff_s1->nCol * 4" identifier = (binary_expression "pcStack_ec + unaff_s1->nCol * 4" identifier + (binary_expression "unaff_s1->nCol * 4" (field_expression "unaff_s1->nCol" identifier -> field_identifier) * number_literal))) ;) (expression_statement "pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4;" (assignment_expression "pcStack_98 = pcStack_a4 + (int)pPStack_90 * 4" identifier = (binary_expression "pcStack_a4 + (int)pPStack_90 * 4" identifier + (binary_expression "(int)pPStack_90 * 4" (cast_expression "(int)pPStack_90" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "(*(code *)PTR_memset_00190d58)(pcStack_98,1);" (call_expression "(*(code *)PTR_memset_00190d58)(pcStack_98,1)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcStack_98,1)" ( identifier , number_literal ))) ;) (expression_statement "(pcStack_98 + (int)pPStack_90)[1] = (code)0x0;" (assignment_expression "(pcStack_98 + (int)pPStack_90)[1] = (code)0x0" (subscript_expression "(pcStack_98 + (int)pPStack_90)[1]" (parenthesized_expression "(pcStack_98 + (int)pPStack_90)" ( (binary_expression "pcStack_98 + (int)pPStack_90" identifier + (cast_expression "(int)pPStack_90" ( (type_descriptor "int" primitive_type) ) identifier)) )) [ number_literal ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (if_statement "if (0 < unaff_s1->nCol) {\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }" if (parenthesized_expression "(0 < unaff_s1->nCol)" ( (binary_expression "0 < unaff_s1->nCol" number_literal < (field_expression "unaff_s1->nCol" identifier -> field_identifier)) )) (compound_statement "{\n          iVar7 = 0;\n          pcVar27 = pcStack_ec;\n          do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pcVar27 = pcStack_ec;" (assignment_expression "pcVar27 = pcStack_ec" identifier = identifier) ;) (do_statement "do {\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (iVar7 < unaff_s1->nCol);" do (compound_statement "{\n            *(undefined4 *)pcVar27 = 0xffffffff;\n            iVar7 = iVar7 + 1;\n            pcVar27 = pcVar27 + 4;\n          }" { (expression_statement "*(undefined4 *)pcVar27 = 0xffffffff;" (assignment_expression "*(undefined4 *)pcVar27 = 0xffffffff" (pointer_expression "*(undefined4 *)pcVar27" * (cast_expression "(undefined4 *)pcVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "pcVar27 = pcVar27 + 4;" (assignment_expression "pcVar27 = pcVar27 + 4" identifier = (binary_expression "pcVar27 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < unaff_s1->nCol)" ( (binary_expression "iVar7 < unaff_s1->nCol" identifier < (field_expression "unaff_s1->nCol" identifier -> field_identifier)) )) ;) })) (expression_statement "sNC.pNext = (NameContext *)0x0;" (assignment_expression "sNC.pNext = (NameContext *)0x0" (field_expression "sNC.pNext" identifier . field_identifier) = (cast_expression "(NameContext *)0x0" ( (type_descriptor "NameContext *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sNC.nRef = 0;" (assignment_expression "sNC.nRef = 0" (field_expression "sNC.nRef" identifier . field_identifier) = number_literal) ;) (expression_statement "sNC.uNC.pUpsert = pUpsert;" (assignment_expression "sNC.uNC.pUpsert = pUpsert" (field_expression "sNC.uNC.pUpsert" (field_expression "sNC.uNC" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "sNC.nErr = 0;" (assignment_expression "sNC.nErr = 0" (field_expression "sNC.nErr" identifier . field_identifier) = number_literal) ;) (expression_statement "sNC.pWinSelect = (Select *)0x0;" (assignment_expression "sNC.pWinSelect = (Select *)0x0" (field_expression "sNC.pWinSelect" identifier . field_identifier) = (cast_expression "(Select *)0x0" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sNC.ncFlags = 0x200;" (assignment_expression "sNC.ncFlags = 0x200" (field_expression "sNC.ncFlags" identifier . field_identifier) = number_literal) ;) (expression_statement "sNC._26_2_ = 0;" (assignment_expression "sNC._26_2_ = 0" (field_expression "sNC._26_2_" identifier . field_identifier) = number_literal) ;) (expression_statement "sNC.pParse = pParse;" (assignment_expression "sNC.pParse = pParse" (field_expression "sNC.pParse" identifier . field_identifier) = identifier) ;) (expression_statement "sNC.pSrcList = pTabList;" (assignment_expression "sNC.pSrcList = pTabList" (field_expression "sNC.pSrcList" identifier . field_identifier) = identifier) ;) (if_statement "if (pChanges->nExpr < 1) {\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }\n        else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }" if (parenthesized_expression "(pChanges->nExpr < 1)" ( (binary_expression "pChanges->nExpr < 1" (field_expression "pChanges->nExpr" identifier -> field_identifier) < number_literal) )) (compound_statement "{\n          pcStack_d8 = (code *)0x0;\n          pEStack_b8 = (Expr *)0x0;\n        }" { (expression_statement "pcStack_d8 = (code *)0x0;" (assignment_expression "pcStack_d8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_b8 = (Expr *)0x0;" (assignment_expression "pEStack_b8 = (Expr *)0x0" identifier = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }" else (compound_statement "{\n          pEVar33 = pChanges->a;\n          pPVar15 = (Parse *)&sNC;\n          unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);\n          pWVar38 = (WhereInfo *)0x0;\n          pcStack_d8 = (code *)0x0;\n          pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);\n          pEStack_b8 = (Expr *)0x0;\n          pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);\n        }" { (expression_statement "pEVar33 = pChanges->a;" (assignment_expression "pEVar33 = pChanges->a" identifier = (field_expression "pChanges->a" identifier -> field_identifier)) ;) (expression_statement "pPVar15 = (Parse *)&sNC;" (assignment_expression "pPVar15 = (Parse *)&sNC" identifier = (cast_expression "(Parse *)&sNC" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sNC" & identifier))) ;) (expression_statement "unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18);" (assignment_expression "unaff_s7 = (Parse *)(PTR_DAT_00190b94 + -0x3c18)" identifier = (cast_expression "(Parse *)(PTR_DAT_00190b94 + -0x3c18)" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00190b94 + -0x3c18)" ( (binary_expression "PTR_DAT_00190b94 + -0x3c18" identifier + number_literal) )))) ;) (expression_statement "pWVar38 = (WhereInfo *)0x0;" (assignment_expression "pWVar38 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_d8 = (code *)0x0;" (assignment_expression "pcStack_d8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280);" (assignment_expression "pcStack_e4 = (code *)(PTR_LAB_00190bdc + 0x6280)" identifier = (cast_expression "(code *)(PTR_LAB_00190bdc + 0x6280)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x6280)" ( (binary_expression "PTR_LAB_00190bdc + 0x6280" identifier + number_literal) )))) ;) (expression_statement "pEStack_b8 = (Expr *)0x0;" (assignment_expression "pEStack_b8 = (Expr *)0x0" identifier = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);" (assignment_expression "pcStack_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x4b2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x4b2c)" ( (binary_expression "PTR_LAB_00190ba4 + -0x4b2c" identifier + number_literal) )))) ;) (expression_statement "psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);" (assignment_expression "psStack_c0 = (sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" identifier = (cast_expression "(sqlite3 *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c" identifier + number_literal) )))) ;) (expression_statement "pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90);" (assignment_expression "pcVar27 = (code *)(PTR_LAB_00190bdc + 0x5b90)" identifier = (cast_expression "(code *)(PTR_LAB_00190bdc + 0x5b90)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x5b90)" ( (binary_expression "PTR_LAB_00190bdc + 0x5b90" identifier + number_literal) )))) ;) (do_statement "do {\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          } while ((int)pWVar38 < pChanges->nExpr);" do (compound_statement "{\n            pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);\n            pTVar35 = unaff_s1;\n            if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;\n            pbVar29 = (byte *)pEVar33->zName;\n            if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }\n            pEStack_b8 = pEVar33->pExpr;\n            pTVar31 = (Table *)0xffffffff;\n            pcVar22 = unaff_s1->zName;\n            pcStack_d8 = (code *)0x1;\n            psVar24 = psStack_c0;\nLAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);\n            if (iVar7 == 1) goto LAB_0010d60c;\n            if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }\n            pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);\n            pEVar33 = pEVar33 + 1;\n          }" { (expression_statement "pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr);" (assignment_expression "pTVar31 = (Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr)" identifier = (cast_expression "(Table *)(*pcStack_e4)(pPVar15,pEVar33->pExpr)" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_e4)(pPVar15,pEVar33->pExpr)" (parenthesized_expression "(*pcStack_e4)" ( (pointer_expression "*pcStack_e4" * identifier) )) (argument_list "(pPVar15,pEVar33->pExpr)" ( identifier , (field_expression "pEVar33->pExpr" identifier -> field_identifier) ))))) ;) (expression_statement "pTVar35 = unaff_s1;" (assignment_expression "pTVar35 = unaff_s1" identifier = identifier) ;) (if_statement "if (pTVar31 != (Table *)0x0) goto LAB_0010d60c;" if (parenthesized_expression "(pTVar31 != (Table *)0x0)" ( (binary_expression "pTVar31 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (expression_statement "pbVar29 = (byte *)pEVar33->zName;" (assignment_expression "pbVar29 = (byte *)pEVar33->zName" identifier = (cast_expression "(byte *)pEVar33->zName" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar33->zName" identifier -> field_identifier))) ;) (if_statement "if (0 < unaff_s1->nCol) {\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }" if (parenthesized_expression "(0 < unaff_s1->nCol)" ( (binary_expression "0 < unaff_s1->nCol" number_literal < (field_expression "unaff_s1->nCol" identifier -> field_identifier)) )) (compound_statement "{\n              pCVar23 = unaff_s1->aCol;\n              do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);\n            }" { (expression_statement "pCVar23 = unaff_s1->aCol;" (assignment_expression "pCVar23 = unaff_s1->aCol" identifier = (field_expression "unaff_s1->aCol" identifier -> field_identifier)) ;) (do_statement "do {\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              } while ((Table *)(int)unaff_s1->nCol != pTVar31);" do (compound_statement "{\n                pbVar18 = (byte *)pCVar23->zName;\n                uVar28 = (uint)*pbVar18;\n                pbVar21 = pbVar29;\n                if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }\n                pTVar31 = (Table *)((int)&pTVar31->zName + 1);\n                pCVar23 = pCVar23 + 1;\n              }" { (expression_statement "pbVar18 = (byte *)pCVar23->zName;" (assignment_expression "pbVar18 = (byte *)pCVar23->zName" identifier = (cast_expression "(byte *)pCVar23->zName" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCVar23->zName" identifier -> field_identifier))) ;) (expression_statement "uVar28 = (uint)*pbVar18;" (assignment_expression "uVar28 = (uint)*pbVar18" identifier = (binary_expression "(uint)*pbVar18" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar21 = pbVar29;" (assignment_expression "pbVar21 = pbVar29" identifier = identifier) ;) (if_statement "if (*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)) {\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }" if (parenthesized_expression "(*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29))" ( (binary_expression "*(char *)((int)&unaff_s7->db + uVar28) ==\n                    *(char *)((int)&unaff_s7->db + (uint)*pbVar29)" (pointer_expression "*(char *)((int)&unaff_s7->db + uVar28)" * (cast_expression "(char *)((int)&unaff_s7->db + uVar28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s7->db + uVar28)" ( (binary_expression "(int)&unaff_s7->db + uVar28" (cast_expression "(int)&unaff_s7->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->db" & (field_expression "unaff_s7->db" identifier -> field_identifier))) + identifier) )))) == (pointer_expression "*(char *)((int)&unaff_s7->db + (uint)*pbVar29)" * (cast_expression "(char *)((int)&unaff_s7->db + (uint)*pbVar29)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s7->db + (uint)*pbVar29)" ( (binary_expression "(int)&unaff_s7->db + (uint)*pbVar29" (cast_expression "(int)&unaff_s7->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->db" & (field_expression "unaff_s7->db" identifier -> field_identifier))) + (binary_expression "(uint)*pbVar29" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) )) (compound_statement "{\n                  do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));\n                }" { (do_statement "do {\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  } while (*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1));" do (compound_statement "{\n                    if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }\n                    pbVar18 = pbVar18 + 1;\n                    pbVar1 = pbVar21 + 1;\n                    uVar28 = (uint)*pbVar18;\n                    pbVar21 = pbVar21 + 1;\n                  }" { (if_statement "if (uVar28 == 0) {\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }" if (parenthesized_expression "(uVar28 == 0)" ( (binary_expression "uVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                      if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }\n                      *(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;\n                      if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }\n                      pcVar22 = unaff_s1->zName;\n                      psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;\n                      goto LAB_0010d98c;\n                    }" { (if_statement "if (pTVar31 == (Table *)(int)unaff_s1->iPKey) {\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }" if (parenthesized_expression "(pTVar31 == (Table *)(int)unaff_s1->iPKey)" ( (binary_expression "pTVar31 == (Table *)(int)unaff_s1->iPKey" identifier == (cast_expression "(Table *)(int)unaff_s1->iPKey" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)unaff_s1->iPKey" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1->iPKey" identifier -> field_identifier)))) )) (compound_statement "{\n                        pEStack_b8 = pEVar33->pExpr;\n                        pcStack_d8 = (code *)0x1;\n                      }" { (expression_statement "pEStack_b8 = pEVar33->pExpr;" (assignment_expression "pEStack_b8 = pEVar33->pExpr" identifier = (field_expression "pEVar33->pExpr" identifier -> field_identifier)) ;) (expression_statement "pcStack_d8 = (code *)0x1;" (assignment_expression "pcStack_d8 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }" else (if_statement "if ((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)) {\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }" if (parenthesized_expression "((unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0))" ( (binary_expression "(unaff_s5 != (Table *)0x0) && ((pCVar23->colFlags & 1) != 0)" (parenthesized_expression "(unaff_s5 != (Table *)0x0)" ( (binary_expression "unaff_s5 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((pCVar23->colFlags & 1) != 0)" ( (binary_expression "(pCVar23->colFlags & 1) != 0" (parenthesized_expression "(pCVar23->colFlags & 1)" ( (binary_expression "pCVar23->colFlags & 1" (field_expression "pCVar23->colFlags" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                        pcStack_a8 = (code *)(pCVar23->colFlags & 1);\n                      }" { (expression_statement "pcStack_a8 = (code *)(pCVar23->colFlags & 1);" (assignment_expression "pcStack_a8 = (code *)(pCVar23->colFlags & 1)" identifier = (cast_expression "(code *)(pCVar23->colFlags & 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pCVar23->colFlags & 1)" ( (binary_expression "pCVar23->colFlags & 1" (field_expression "pCVar23->colFlags" identifier -> field_identifier) & number_literal) )))) ;) })))) (expression_statement "*(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38;" (assignment_expression "*(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4) = pWVar38" (pointer_expression "*(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4)" * (cast_expression "(WhereInfo **)(pcStack_ec + (int)pTVar31 * 4)" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_ec + (int)pTVar31 * 4)" ( (binary_expression "pcStack_ec + (int)pTVar31 * 4" identifier + (binary_expression "(int)pTVar31 * 4" (cast_expression "(int)pTVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (if_statement "if ((int)unaff_s1->nCol <= (int)pTVar31) {\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }" if (parenthesized_expression "((int)unaff_s1->nCol <= (int)pTVar31)" ( (binary_expression "(int)unaff_s1->nCol <= (int)pTVar31" (cast_expression "(int)unaff_s1->nCol" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1->nCol" identifier -> field_identifier)) <= (cast_expression "(int)pTVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                        pbVar29 = (byte *)pEVar33->zName;\n                        goto LAB_0010d954;\n                      }" { (expression_statement "pbVar29 = (byte *)pEVar33->zName;" (assignment_expression "pbVar29 = (byte *)pEVar33->zName" identifier = (cast_expression "(byte *)pEVar33->zName" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar33->zName" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0010d954;" goto statement_identifier ;) })) (expression_statement "pcVar22 = unaff_s1->zName;" (assignment_expression "pcVar22 = unaff_s1->zName" identifier = (field_expression "unaff_s1->zName" identifier -> field_identifier)) ;) (expression_statement "psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName;" (assignment_expression "psVar24 = (sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName" identifier = (cast_expression "(sqlite3 *)unaff_s1->aCol[(int)pTVar31].zName" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s1->aCol[(int)pTVar31].zName" (subscript_expression "unaff_s1->aCol[(int)pTVar31]" (field_expression "unaff_s1->aCol" identifier -> field_identifier) [ (cast_expression "(int)pTVar31" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier))) ;) (goto_statement "goto LAB_0010d98c;" goto statement_identifier ;) })) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "pbVar1 = pbVar21 + 1;" (assignment_expression "pbVar1 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = (uint)*pbVar18;" (assignment_expression "uVar28 = (uint)*pbVar18" identifier = (binary_expression "(uint)*pbVar18" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar21 = pbVar21 + 1;" (assignment_expression "pbVar21 = pbVar21 + 1" identifier = (binary_expression "pbVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1))" ( (binary_expression "*(char *)((int)&unaff_s7->db + uVar28) ==\n                           *(char *)((int)&unaff_s7->db + (uint)*pbVar1)" (pointer_expression "*(char *)((int)&unaff_s7->db + uVar28)" * (cast_expression "(char *)((int)&unaff_s7->db + uVar28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s7->db + uVar28)" ( (binary_expression "(int)&unaff_s7->db + uVar28" (cast_expression "(int)&unaff_s7->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->db" & (field_expression "unaff_s7->db" identifier -> field_identifier))) + identifier) )))) == (pointer_expression "*(char *)((int)&unaff_s7->db + (uint)*pbVar1)" * (cast_expression "(char *)((int)&unaff_s7->db + (uint)*pbVar1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s7->db + (uint)*pbVar1)" ( (binary_expression "(int)&unaff_s7->db + (uint)*pbVar1" (cast_expression "(int)&unaff_s7->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->db" & (field_expression "unaff_s7->db" identifier -> field_identifier))) + (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) )) ;) })) (expression_statement "pTVar31 = (Table *)((int)&pTVar31->zName + 1);" (assignment_expression "pTVar31 = (Table *)((int)&pTVar31->zName + 1)" identifier = (cast_expression "(Table *)((int)&pTVar31->zName + 1)" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar31->zName + 1)" ( (binary_expression "(int)&pTVar31->zName + 1" (cast_expression "(int)&pTVar31->zName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar31->zName" & (field_expression "pTVar31->zName" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pCVar23 = pCVar23 + 1;" (assignment_expression "pCVar23 = pCVar23 + 1" identifier = (binary_expression "pCVar23 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((Table *)(int)unaff_s1->nCol != pTVar31)" ( (binary_expression "(Table *)(int)unaff_s1->nCol != pTVar31" (cast_expression "(Table *)(int)unaff_s1->nCol" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)unaff_s1->nCol" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1->nCol" identifier -> field_identifier))) != identifier) )) ;) })) (labeled_statement "LAB_0010d954:\n            if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }" statement_identifier : (if_statement "if ((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }" if (parenthesized_expression "((unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0))" ( (binary_expression "(unaff_s5 != (Table *)0x0) || (iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)" (parenthesized_expression "(unaff_s5 != (Table *)0x0)" ( (binary_expression "unaff_s5 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0)" ( (comma_expression "iVar7 = (*pcStack_c4)(pbVar29), iVar7 == 0" (assignment_expression "iVar7 = (*pcStack_c4)(pbVar29)" identifier = (call_expression "(*pcStack_c4)(pbVar29)" (parenthesized_expression "(*pcStack_c4)" ( (pointer_expression "*pcStack_c4" * identifier) )) (argument_list "(pbVar29)" ( identifier )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);\n              pParse->checkSchema = '\x01';\n              pPVar15 = pParse;\n              goto LAB_0010d60c;\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29);" (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x5160))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x5160)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x5160)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x5160)" ( (binary_expression "PTR_LAB_00190bdc + 0x5160" identifier + number_literal) )))) )) (argument_list "(pParse,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar29)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c" identifier + number_literal) , identifier ))) ;) (expression_statement "pParse->checkSchema = '\x01';" (assignment_expression "pParse->checkSchema = '\x01'" (field_expression "pParse->checkSchema" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pPVar15 = pParse;" (assignment_expression "pPVar15 = pParse" identifier = identifier) ;) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;) }))) (expression_statement "pEStack_b8 = pEVar33->pExpr;" (assignment_expression "pEStack_b8 = pEVar33->pExpr" identifier = (field_expression "pEVar33->pExpr" identifier -> field_identifier)) ;) (expression_statement "pTVar31 = (Table *)0xffffffff;" (assignment_expression "pTVar31 = (Table *)0xffffffff" identifier = (cast_expression "(Table *)0xffffffff" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar22 = unaff_s1->zName;" (assignment_expression "pcVar22 = unaff_s1->zName" identifier = (field_expression "unaff_s1->zName" identifier -> field_identifier)) ;) (expression_statement "pcStack_d8 = (code *)0x1;" (assignment_expression "pcStack_d8 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar24 = psStack_c0;" (assignment_expression "psVar24 = psStack_c0" identifier = identifier) ;) (labeled_statement "LAB_0010d98c:\n            iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);" statement_identifier : (expression_statement "iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName);" (assignment_expression "iVar7 = (*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName)" identifier = (call_expression "(*pcVar27)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pParse,0x17,pcVar22,psVar24,psVar32->aDb[iStack_b4].zDbSName)" ( identifier , number_literal , identifier , identifier , (field_expression "psVar32->aDb[iStack_b4].zDbSName" (subscript_expression "psVar32->aDb[iStack_b4]" (field_expression "psVar32->aDb" identifier -> field_identifier) [ identifier ]) . field_identifier) )))) ;)) (if_statement "if (iVar7 == 1) goto LAB_0010d60c;" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (if_statement "if (iVar7 == 2) {\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }" if (parenthesized_expression "(iVar7 == 2)" ( (binary_expression "iVar7 == 2" identifier == number_literal) )) (compound_statement "{\n              *(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;\n            }" { (expression_statement "*(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcStack_ec + (int)pTVar31 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcStack_ec + (int)pTVar31 * 4)" * (cast_expression "(undefined4 *)(pcStack_ec + (int)pTVar31 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_ec + (int)pTVar31 * 4)" ( (binary_expression "pcStack_ec + (int)pTVar31 * 4" identifier + (binary_expression "(int)pTVar31 * 4" (cast_expression "(int)pTVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = number_literal) ;) })) (expression_statement "pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1);" (assignment_expression "pWVar38 = (WhereInfo *)((int)&pWVar38->pParse + 1)" identifier = (cast_expression "(WhereInfo *)((int)&pWVar38->pParse + 1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar38->pParse + 1)" ( (binary_expression "(int)&pWVar38->pParse + 1" (cast_expression "(int)&pWVar38->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar38->pParse" & (field_expression "pWVar38->pParse" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar33 = pEVar33 + 1;" (assignment_expression "pEVar33 = pEVar33 + 1" identifier = (binary_expression "pEVar33 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)pWVar38 < pChanges->nExpr)" ( (binary_expression "(int)pWVar38 < pChanges->nExpr" (cast_expression "(int)pWVar38" ( (type_descriptor "int" primitive_type) ) identifier) < (field_expression "pChanges->nExpr" identifier -> field_identifier)) )) ;) }))) (expression_statement "pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff);" (assignment_expression "pcStack_c4 = (code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff)" identifier = (cast_expression "(code *)((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pcStack_d8 + (int)pcStack_a8) & 0xff)" ( (binary_expression "(uint)(pcStack_d8 + (int)pcStack_a8) & 0xff" (call_expression "(uint)(pcStack_d8 + (int)pcStack_a8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_d8 + (int)pcStack_a8)" ( (binary_expression "pcStack_d8 + (int)pcStack_a8" identifier + (cast_expression "(int)pcStack_a8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal) )))) ;) (expression_statement "iVar7 = -(uint)(unaff_s1->nModuleArg != 0);" (assignment_expression "iVar7 = -(uint)(unaff_s1->nModuleArg != 0)" identifier = (unary_expression "-(uint)(unaff_s1->nModuleArg != 0)" - (call_expression "(uint)(unaff_s1->nModuleArg != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s1->nModuleArg != 0)" ( (binary_expression "unaff_s1->nModuleArg != 0" (field_expression "unaff_s1->nModuleArg" identifier -> field_identifier) != number_literal) ))))) ;) (expression_statement "pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768);" (assignment_expression "pcVar27 = (code *)(PTR_LAB_00190ba4 + -0x3768)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x3768)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x3768)" ( (binary_expression "PTR_LAB_00190ba4 + -0x3768" identifier + number_literal) )))) ;) (expression_statement "*(int *)&pTabList->a[0].colUsed = iVar7;" (assignment_expression "*(int *)&pTabList->a[0].colUsed = iVar7" (pointer_expression "*(int *)&pTabList->a[0].colUsed" * (cast_expression "(int *)&pTabList->a[0].colUsed" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTabList->a[0].colUsed" & (field_expression "pTabList->a[0].colUsed" (subscript_expression "pTabList->a[0]" (field_expression "pTabList->a" identifier -> field_identifier) [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "*(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7;" (assignment_expression "*(int *)((int)&pTabList->a[0].colUsed + 4) = iVar7" (pointer_expression "*(int *)((int)&pTabList->a[0].colUsed + 4)" * (cast_expression "(int *)((int)&pTabList->a[0].colUsed + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTabList->a[0].colUsed + 4)" ( (binary_expression "(int)&pTabList->a[0].colUsed + 4" (cast_expression "(int)&pTabList->a[0].colUsed" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTabList->a[0].colUsed" & (field_expression "pTabList->a[0].colUsed" (subscript_expression "pTabList->a[0]" (field_expression "pTabList->a" identifier -> field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec);" (assignment_expression "psStack_c0 = (sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec)" identifier = (cast_expression "(sqlite3 *)(*pcVar27)(pParse->db,unaff_s1,pcStack_ec)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(pParse->db,unaff_s1,pcStack_ec)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pParse->db,unaff_s1,pcStack_ec)" ( (field_expression "pParse->db" identifier -> field_identifier) , identifier , identifier ))))) ;) (if_statement "if (onError == 5) {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }" if (parenthesized_expression "(onError == 5)" ( (binary_expression "onError == 5" identifier == number_literal) )) (compound_statement "{\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          bReplace = 1;\n          if (pTVar35 != (Table *)0x0) goto LAB_0010da68;\n        }" { (expression_statement "pTVar35 = (Table *)unaff_s1->pIndex;" (assignment_expression "pTVar35 = (Table *)unaff_s1->pIndex" identifier = (cast_expression "(Table *)unaff_s1->pIndex" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s1->pIndex" identifier -> field_identifier))) ;) (expression_statement "bReplace = 1;" (assignment_expression "bReplace = 1" identifier = number_literal) ;) (if_statement "if (pTVar35 != (Table *)0x0) goto LAB_0010da68;" if (parenthesized_expression "(pTVar35 != (Table *)0x0)" ( (binary_expression "pTVar35 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010da68;" goto statement_identifier ;)) }) (else_clause "else {\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }" else (compound_statement "{\n          pTVar35 = (Table *)unaff_s1->pIndex;\n          if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }\n          if (bReplace == 0) goto LAB_0010dcb0;\n        }" { (expression_statement "pTVar35 = (Table *)unaff_s1->pIndex;" (assignment_expression "pTVar35 = (Table *)unaff_s1->pIndex" identifier = (cast_expression "(Table *)unaff_s1->pIndex" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s1->pIndex" identifier -> field_identifier))) ;) (if_statement "if (pTVar35 != (Table *)0x0) {\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }" if (parenthesized_expression "(pTVar35 != (Table *)0x0)" ( (binary_expression "pTVar35 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);\n            iVar7 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar27 = pcStack_a4;\n            do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);\n          }" { (labeled_statement "LAB_0010da68:\n            pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);" statement_identifier : (expression_statement "pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2);" (assignment_expression "pcStack_e4 = (code *)(uint)((int)psStack_c0 < 2)" identifier = (cast_expression "(code *)(uint)((int)psStack_c0 < 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)psStack_c0 < 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psStack_c0 < 2)" ( (binary_expression "(int)psStack_c0 < 2" (cast_expression "(int)psStack_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x56dc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x56dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x56dc)" ( (binary_expression "PTR_LAB_00190ba4 + -0x56dc" identifier + number_literal) )))) ;) (expression_statement "pcVar27 = pcStack_a4;" (assignment_expression "pcVar27 = pcStack_a4" identifier = identifier) ;) (do_statement "do {\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            } while (pTVar35 != (Table *)0x0);" do (compound_statement "{\n              if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }\n              *(int *)pcVar27 = iVar9;\n              iVar7 = iVar7 + 1;\n              pTVar35 = (Table *)pTVar35->zColAff;\n              pcVar27 = pcVar27 + 4;\n            }" { (if_statement "if ((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))) {\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }\n              else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }" if (parenthesized_expression "((((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0))))" ( (binary_expression "(((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)) &&\n                 ((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))" (parenthesized_expression "(((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5))" ( (binary_expression "((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)) &&\n                  (pTVar35 != unaff_s5)" (parenthesized_expression "((pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0))" ( (binary_expression "(pcStack_c4 == (code *)0x0) && (pcStack_e4 != (code *)0x0)" (parenthesized_expression "(pcStack_c4 == (code *)0x0)" ( (binary_expression "pcStack_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcStack_e4 != (code *)0x0)" ( (binary_expression "pcStack_e4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(pTVar35 != unaff_s5)" ( (binary_expression "pTVar35 != unaff_s5" identifier != identifier) ))) )) && (parenthesized_expression "((pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)))" ( (parenthesized_expression "(pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0))" ( (binary_expression "pTVar35->tabFlags == 0 ||\n                  (iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)" (binary_expression "pTVar35->tabFlags == 0" (field_expression "pTVar35->tabFlags" identifier -> field_identifier) == number_literal) || (parenthesized_expression "(iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0)" ( (comma_expression "iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8), iVar9 == 0" (assignment_expression "iVar9 = (*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8)" identifier = (call_expression "(*pcVar13)(pTVar35->tabFlags,pcStack_ec,pcStack_d8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(pTVar35->tabFlags,pcStack_ec,pcStack_d8)" ( (field_expression "pTVar35->tabFlags" identifier -> field_identifier) , identifier , identifier )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n                iVar9 = 0;\n                if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }\nLAB_0010dac8:\n                iVar9 = 0;\n                pcStack_98[iVar7 + 1] = (code)0x0;\n              }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (*(short *)&pTVar35->field_0x32 != 0) {\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }" if (parenthesized_expression "(*(short *)&pTVar35->field_0x32 != 0)" ( (binary_expression "*(short *)&pTVar35->field_0x32 != 0" (pointer_expression "*(short *)&pTVar35->field_0x32" * (cast_expression "(short *)&pTVar35->field_0x32" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar35->field_0x32" & (field_expression "pTVar35->field_0x32" identifier -> field_identifier)))) != number_literal) )) (compound_statement "{\n                  do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);\n                }" { (do_statement "do {\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32);" do (compound_statement "{\n                    iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);\n                    if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }\n                    iVar9 = iVar9 + 1;\n                    if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  }" { (expression_statement "iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2);" (assignment_expression "iVar6 = (int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2)" identifier = (cast_expression "(int)*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)&pTVar35->aCol->zName + iVar9 * 2)" * (cast_expression "(short *)((int)&pTVar35->aCol->zName + iVar9 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar35->aCol->zName + iVar9 * 2)" ( (binary_expression "(int)&pTVar35->aCol->zName + iVar9 * 2" (cast_expression "(int)&pTVar35->aCol->zName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar35->aCol->zName" & (field_expression "pTVar35->aCol->zName" (field_expression "pTVar35->aCol" identifier -> field_identifier) -> field_identifier))) + (binary_expression "iVar9 * 2" identifier * number_literal)) )))))) ;) (if_statement "if (iVar6 < 0) {\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }\n                    else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n                      uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);\n                    }" { (expression_statement "uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8);" (assignment_expression "uVar28 = (*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8)" identifier = (call_expression "(*pcVar13)(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14),pcStack_ec,\n                                          pcStack_d8)" ( (pointer_expression "*(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14)" * (cast_expression "(undefined4 *)\n                                           (*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14)" ( (binary_expression "*(int *)&pTVar35->iPKey + 4 + iVar9 * 0x14" (binary_expression "*(int *)&pTVar35->iPKey + 4" (pointer_expression "*(int *)&pTVar35->iPKey" * (cast_expression "(int *)&pTVar35->iPKey" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar35->iPKey" & (field_expression "pTVar35->iPKey" identifier -> field_identifier)))) + number_literal) + (binary_expression "iVar9 * 0x14" identifier * number_literal)) )))) , identifier , identifier )))) ;) }) (else_clause "else {\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }" else (compound_statement "{\n                      uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;\n                    }" { (expression_statement "uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f;" (assignment_expression "uVar28 = ~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f" identifier = (binary_expression "~*(uint *)(pcStack_ec + iVar6 * 4) >> 0x1f" (unary_expression "~*(uint *)(pcStack_ec + iVar6 * 4)" ~ (pointer_expression "*(uint *)(pcStack_ec + iVar6 * 4)" * (cast_expression "(uint *)(pcStack_ec + iVar6 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_ec + iVar6 * 4)" ( (binary_expression "pcStack_ec + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) ))))) >> number_literal)) ;) }))) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (uVar28 != 0) {\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }" if (parenthesized_expression "(uVar28 != 0)" ( (binary_expression "uVar28 != 0" identifier != number_literal) )) (compound_statement "{\n                      iVar9 = pParse->nMem + 1;\n                      pParse->nMem = iVar9;\n                      pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\n                      if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }" { (expression_statement "iVar9 = pParse->nMem + 1;" (assignment_expression "iVar9 = pParse->nMem + 1" identifier = (binary_expression "pParse->nMem + 1" (field_expression "pParse->nMem" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pParse->nMem = iVar9;" (assignment_expression "pParse->nMem = iVar9" (field_expression "pParse->nMem" identifier -> field_identifier) = identifier) ;) (expression_statement "pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;" (assignment_expression "pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9" (field_expression "pParse->nMem" identifier -> field_identifier) = (binary_expression "(uint)*(ushort *)&pTVar35->addColOffset + iVar9" (binary_expression "(uint)*(ushort *)&pTVar35->addColOffset" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&pTVar35->addColOffset" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar35->addColOffset" & (field_expression "pTVar35->addColOffset" identifier -> field_identifier)))) + identifier)) ;) (if_statement "if ((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')) {\n                        bReplace = 1;\n                      }" if (parenthesized_expression "((onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05'))" ( (binary_expression "(onError == 0xb) &&\n                         (*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')" (parenthesized_expression "(onError == 0xb)" ( (binary_expression "onError == 0xb" identifier == number_literal) )) && (parenthesized_expression "(*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05')" ( (binary_expression "*(undefined1 *)((int)&pTVar35->addColOffset + 2) == '\x05'" (pointer_expression "*(undefined1 *)((int)&pTVar35->addColOffset + 2)" * (cast_expression "(undefined1 *)((int)&pTVar35->addColOffset + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar35->addColOffset + 2)" ( (binary_expression "(int)&pTVar35->addColOffset + 2" (cast_expression "(int)&pTVar35->addColOffset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar35->addColOffset" & (field_expression "pTVar35->addColOffset" identifier -> field_identifier))) + number_literal) )))) == (char_literal "'\x05'" ' escape_sequence ')) ))) )) (compound_statement "{\n                        bReplace = 1;\n                      }" { (expression_statement "bReplace = 1;" (assignment_expression "bReplace = 1" identifier = number_literal) ;) })) (goto_statement "goto LAB_0010dabc;" goto statement_identifier ;) })) }) while (parenthesized_expression "(iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32)" ( (binary_expression "iVar9 < (int)(uint)*(ushort *)&pTVar35->field_0x32" identifier < (binary_expression "(int)(uint)*(ushort *)&pTVar35->field_0x32" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)&pTVar35->field_0x32" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar35->field_0x32" & (field_expression "pTVar35->field_0x32" identifier -> field_identifier))))) )) ;) })) (labeled_statement "LAB_0010dac8:\n                iVar9 = 0;" statement_identifier : (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;)) (expression_statement "pcStack_98[iVar7 + 1] = (code)0x0;" (assignment_expression "pcStack_98[iVar7 + 1] = (code)0x0" (subscript_expression "pcStack_98[iVar7 + 1]" identifier [ (binary_expression "iVar7 + 1" identifier + number_literal) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }" else (compound_statement "{\n                iVar9 = pParse->nMem + 1;\n                pParse->nMem = iVar9;\n                pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;\nLAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;\n              }" { (expression_statement "iVar9 = pParse->nMem + 1;" (assignment_expression "iVar9 = pParse->nMem + 1" identifier = (binary_expression "pParse->nMem + 1" (field_expression "pParse->nMem" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pParse->nMem = iVar9;" (assignment_expression "pParse->nMem = iVar9" (field_expression "pParse->nMem" identifier -> field_identifier) = identifier) ;) (expression_statement "pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9;" (assignment_expression "pParse->nMem = (uint)*(ushort *)&pTVar35->addColOffset + iVar9" (field_expression "pParse->nMem" identifier -> field_identifier) = (binary_expression "(uint)*(ushort *)&pTVar35->addColOffset + iVar9" (binary_expression "(uint)*(ushort *)&pTVar35->addColOffset" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&pTVar35->addColOffset" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar35->addColOffset" & (field_expression "pTVar35->addColOffset" identifier -> field_identifier)))) + identifier)) ;) (labeled_statement "LAB_0010dabc:\n                if (iVar9 == 0) goto LAB_0010dac8;" statement_identifier : (if_statement "if (iVar9 == 0) goto LAB_0010dac8;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010dac8;" goto statement_identifier ;))) }))) (expression_statement "*(int *)pcVar27 = iVar9;" (assignment_expression "*(int *)pcVar27 = iVar9" (pointer_expression "*(int *)pcVar27" * (cast_expression "(int *)pcVar27" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "pTVar35 = (Table *)pTVar35->zColAff;" (assignment_expression "pTVar35 = (Table *)pTVar35->zColAff" identifier = (cast_expression "(Table *)pTVar35->zColAff" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTVar35->zColAff" identifier -> field_identifier))) ;) (expression_statement "pcVar27 = pcVar27 + 4;" (assignment_expression "pcVar27 = pcVar27 + 4" identifier = (binary_expression "pcVar27 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pTVar35 != (Table *)0x0)" ( (binary_expression "pTVar35 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bReplace == 0) goto LAB_0010dcb0;" if (parenthesized_expression "(bReplace == 0)" ( (binary_expression "bReplace == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010dcb0;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1));" (call_expression "(*(code *)PTR_memset_00190d58)(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1))" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcStack_98,1,(undefined *)((int)&pPStack_90->db + 1))" ( identifier , number_literal , (cast_expression "(undefined *)((int)&pPStack_90->db + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPStack_90->db + 1)" ( (binary_expression "(int)&pPStack_90->db + 1" (cast_expression "(int)&pPStack_90->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPStack_90->db" & (field_expression "pPStack_90->db" identifier -> field_identifier))) + number_literal) ))) ))) ;) (labeled_statement "LAB_0010dcb0:\n        unaff_s7 = (Parse *)pParse->pVdbe;" statement_identifier : (expression_statement "unaff_s7 = (Parse *)pParse->pVdbe;" (assignment_expression "unaff_s7 = (Parse *)pParse->pVdbe" identifier = (cast_expression "(Parse *)pParse->pVdbe" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse->pVdbe" identifier -> field_identifier))) ;)) (if_statement "if ((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))\n        goto LAB_0010d60c;" if (parenthesized_expression "((unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0))" ( (binary_expression "(unaff_s7 == (Parse *)0x0) &&\n           (unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0)" (parenthesized_expression "(unaff_s7 == (Parse *)0x0)" ( (binary_expression "unaff_s7 == (Parse *)0x0" identifier == (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0)" ( (comma_expression "unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse), pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0" (assignment_expression "unaff_s7 = (Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse)" identifier = (cast_expression "(Parse *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse)" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x1274)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x1274)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x1274)" ( (binary_expression "PTR_LAB_00190bc0 + 0x1274" identifier + number_literal) )))) )) (argument_list "(pParse)" ( identifier ))))) , (comma_expression "pPVar15 = pParse,\n           pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0" (assignment_expression "pPVar15 = pParse" identifier = identifier) , (comma_expression "pTVar31 = unaff_s1, pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0" (assignment_expression "pTVar31 = unaff_s1" identifier = identifier) , (comma_expression "pTVar35 = unaff_s5, pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0" (assignment_expression "pTVar35 = unaff_s5" identifier = identifier) , (comma_expression "pWVar38 = unaff_s8, unaff_s7 == (Parse *)0x0" (assignment_expression "pWVar38 = unaff_s8" identifier = identifier) , (binary_expression "unaff_s7 == (Parse *)0x0" identifier == (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))))))) ))) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (if_statement "if (pParse->nested == '\0') {\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }" if (parenthesized_expression "(pParse->nested == '\0')" ( (binary_expression "pParse->nested == '\0'" (field_expression "pParse->nested" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;\n        }" { (expression_statement "*(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4\n          ;" (assignment_expression "*(byte *)((int)unaff_s7->aTempReg + 5) = *(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4" (pointer_expression "*(byte *)((int)unaff_s7->aTempReg + 5)" * (cast_expression "(byte *)((int)unaff_s7->aTempReg + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7->aTempReg + 5)" ( (binary_expression "(int)unaff_s7->aTempReg + 5" (cast_expression "(int)unaff_s7->aTempReg" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->aTempReg" identifier -> field_identifier)) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb | 4" (binary_expression "*(byte *)((int)unaff_s7->aTempReg + 5) & 0xfb" (pointer_expression "*(byte *)((int)unaff_s7->aTempReg + 5)" * (cast_expression "(byte *)((int)unaff_s7->aTempReg + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7->aTempReg + 5)" ( (binary_expression "(int)unaff_s7->aTempReg + 5" (cast_expression "(int)unaff_s7->aTempReg" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->aTempReg" identifier -> field_identifier)) + number_literal) )))) & number_literal) | number_literal)) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4);" (call_expression "(*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bbc + 0x6508))" ( (pointer_expression "*(code *)(PTR_LAB_00190bbc + 0x6508)" * (cast_expression "(code *)(PTR_LAB_00190bbc + 0x6508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bbc + 0x6508)" ( (binary_expression "PTR_LAB_00190bbc + 0x6508" identifier + number_literal) )))) )) (argument_list "(pParse,pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0,iStack_b4)" ( identifier , (binary_expression "pTStack_d0 != (Trigger *)0x0 || psStack_c0 != (sqlite3 *)0x0" (binary_expression "pTStack_d0 != (Trigger *)0x0" identifier != (cast_expression "(Trigger *)0x0" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "psStack_c0 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) , identifier ))) ;) (if_statement "if (unaff_s1->nModuleArg != 0) {\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }" if (parenthesized_expression "(unaff_s1->nModuleArg != 0)" ( (binary_expression "unaff_s1->nModuleArg != 0" (field_expression "unaff_s1->nModuleArg" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n          iStack_94 = 0;\n          pcStack_8c = (code *)0x0;\n          pcStack_cc = (code *)0x0;\n          pcStack_e4 = (code *)0x0;\n          goto LAB_0010dd68;\n        }" { (expression_statement "iStack_94 = 0;" (assignment_expression "iStack_94 = 0" identifier = number_literal) ;) (expression_statement "pcStack_8c = (code *)0x0;" (assignment_expression "pcStack_8c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_cc = (code *)0x0;" (assignment_expression "pcStack_cc = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_e4 = (code *)0x0;" (assignment_expression "pcStack_e4 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0010dd68;" goto statement_identifier ;) })) (expression_statement "iVar7 = pParse->nMem;" (assignment_expression "iVar7 = pParse->nMem" identifier = (field_expression "pParse->nMem" identifier -> field_identifier)) ;) (expression_statement "pcStack_e4 = (code *)(iVar7 + 2);" (assignment_expression "pcStack_e4 = (code *)(iVar7 + 2)" identifier = (cast_expression "(code *)(iVar7 + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 2)" ( (binary_expression "iVar7 + 2" identifier + number_literal) )))) ;) (expression_statement "iStack_ac = iVar7 + 1;" (assignment_expression "iStack_ac = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "pParse->nMem = (int)pcStack_e4;" (assignment_expression "pParse->nMem = (int)pcStack_e4" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)pcStack_e4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcStack_a8 == (code *)0x0) {\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }" if (parenthesized_expression "(pcStack_a8 == (code *)0x0)" ( (binary_expression "pcStack_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }\n          pcVar13 = pcStack_d8;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;\n        }" { (if_statement "if (pTStack_d0 != (Trigger *)0x0) {\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }" if (parenthesized_expression "(pTStack_d0 != (Trigger *)0x0)" ( (binary_expression "pTStack_d0 != (Trigger *)0x0" identifier != (cast_expression "(Trigger *)0x0" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iStack_94 = iVar7 + 3;\n            pcVar27 = pcStack_e4 + unaff_s1->nCol;\n            goto LAB_0010dd48;\n          }" { (expression_statement "iStack_94 = iVar7 + 3;" (assignment_expression "iStack_94 = iVar7 + 3" identifier = (binary_expression "iVar7 + 3" identifier + number_literal)) ;) (expression_statement "pcVar27 = pcStack_e4 + unaff_s1->nCol;" (assignment_expression "pcVar27 = pcStack_e4 + unaff_s1->nCol" identifier = (binary_expression "pcStack_e4 + unaff_s1->nCol" identifier + (field_expression "unaff_s1->nCol" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;) })) (expression_statement "pcVar13 = pcStack_d8;" (assignment_expression "pcVar13 = pcStack_d8" identifier = identifier) ;) (if_statement "if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010ef6c;" if (parenthesized_expression "(psStack_c0 == (sqlite3 *)0x0)" ( (binary_expression "psStack_c0 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010ef6c;" goto statement_identifier ;)) (expression_statement "iStack_94 = iVar7 + 3;" (assignment_expression "iStack_94 = iVar7 + 3" identifier = (binary_expression "iVar7 + 3" identifier + number_literal)) ;) (expression_statement "pcVar27 = pcStack_e4 + unaff_s1->nCol;" (assignment_expression "pcVar27 = pcStack_e4 + unaff_s1->nCol" identifier = (binary_expression "pcStack_e4 + unaff_s1->nCol" identifier + (field_expression "unaff_s1->nCol" identifier -> field_identifier))) ;) (expression_statement "pParse->nMem = (int)pcVar27;" (assignment_expression "pParse->nMem = (int)pcVar27" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcStack_d8 != (code *)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(pcStack_d8 != (code *)0x0)" ( (binary_expression "pcStack_d8 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) }) (else_clause "else {\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }" else (compound_statement "{\n          iStack_94 = iVar7 + 3;\n          pcVar27 = pcStack_e4 + unaff_s1->nCol;\n          pParse->nMem = (int)pcVar27;\n          if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;\n          pcStack_cc = pcStack_e4;\n          if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;\n        }" { (expression_statement "iStack_94 = iVar7 + 3;" (assignment_expression "iStack_94 = iVar7 + 3" identifier = (binary_expression "iVar7 + 3" identifier + number_literal)) ;) (expression_statement "pcVar27 = pcStack_e4 + unaff_s1->nCol;" (assignment_expression "pcVar27 = pcStack_e4 + unaff_s1->nCol" identifier = (binary_expression "pcStack_e4 + unaff_s1->nCol" identifier + (field_expression "unaff_s1->nCol" identifier -> field_identifier))) ;) (expression_statement "pParse->nMem = (int)pcVar27;" (assignment_expression "pParse->nMem = (int)pcVar27" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcStack_c4 != (code *)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(pcStack_c4 != (code *)0x0)" ( (binary_expression "pcStack_c4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) (if_statement "if (pTStack_d0 != (Trigger *)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(pTStack_d0 != (Trigger *)0x0)" ( (binary_expression "pTStack_d0 != (Trigger *)0x0" identifier != (cast_expression "(Trigger *)0x0" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) (expression_statement "pcStack_cc = pcStack_e4;" (assignment_expression "pcStack_cc = pcStack_e4" identifier = identifier) ;) (if_statement "if (psStack_c0 == (sqlite3 *)0x0) goto LAB_0010dd54;" if (parenthesized_expression "(psStack_c0 == (sqlite3 *)0x0)" ( (binary_expression "psStack_c0 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010dd54;" goto statement_identifier ;)) }))) (expression_statement "iStack_94 = iVar7 + 3;" (assignment_expression "iStack_94 = iVar7 + 3" identifier = (binary_expression "iVar7 + 3" identifier + number_literal)) ;) (expression_statement "pcVar27 = (code *)pParse->nMem;" (assignment_expression "pcVar27 = (code *)pParse->nMem" identifier = (cast_expression "(code *)pParse->nMem" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse->nMem" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;) })) })) })) (expression_statement "unaff_s0 = pParse;" (assignment_expression "unaff_s0 = pParse" identifier = identifier) ;) (if_statement "if (sContext.pParse != (Parse *)0x0) {\n    (sContext.pParse)->zAuthContext = sContext.zAuthContext;\n    sContext.pParse = (Parse *)0x0;\n  }" if (parenthesized_expression "(sContext.pParse != (Parse *)0x0)" ( (binary_expression "sContext.pParse != (Parse *)0x0" (field_expression "sContext.pParse" identifier . field_identifier) != (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (sContext.pParse)->zAuthContext = sContext.zAuthContext;\n    sContext.pParse = (Parse *)0x0;\n  }" { (expression_statement "(sContext.pParse)->zAuthContext = sContext.zAuthContext;" (assignment_expression "(sContext.pParse)->zAuthContext = sContext.zAuthContext" (field_expression "(sContext.pParse)->zAuthContext" (parenthesized_expression "(sContext.pParse)" ( (field_expression "sContext.pParse" identifier . field_identifier) )) -> field_identifier) = (field_expression "sContext.zAuthContext" identifier . field_identifier)) ;) (expression_statement "sContext.pParse = (Parse *)0x0;" (assignment_expression "sContext.pParse = (Parse *)0x0" (field_expression "sContext.pParse" identifier . field_identifier) = (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (labeled_statement "LAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x210c)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) )) (argument_list "(psVar32,pTabList)" ( identifier , identifier ))) ;)) (expression_statement "pParse = unaff_s0;" (assignment_expression "pParse = unaff_s0" identifier = identifier) ;) (if_statement "if (pChanges != (ExprList *)0x0) goto LAB_0010d64c;" if (parenthesized_expression "(pChanges != (ExprList *)0x0)" ( (binary_expression "pChanges != (ExprList *)0x0" identifier != (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d64c;" goto statement_identifier ;)) (do_statement "do {\n    if ((Select *)pWhere != (Select *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);\n    }\n    if (pEStack_f8 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);\n    }\n    if (pEStack_f4 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);\n    }\n    if (iVar17 == *(int *)puVar5) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    pcVar27 = pcStack_e4;\n    if (pcVar13 == (code *)0x0) {\n      iStack_94 = 0;\n      pcStack_cc = pcStack_e4;\n    }\n    else {\n      iStack_94 = 0;\nLAB_0010dd48:\n      pcVar27 = pcVar27 + 1;\n      pParse->nMem = (int)pcVar27;\n      pcStack_cc = pcVar27;\n    }\nLAB_0010dd54:\n    pcStack_8c = pcVar27 + 1;\n    pParse->nMem = (int)(pcVar27 + unaff_s1->nCol);\nLAB_0010dd68:\n    if (pSStack_bc != (Select *)0x0) {\n      sContext.zAuthContext = pParse->zAuthContext;\n      pParse->zAuthContext = unaff_s1->zName;\n      sContext.pParse = pParse;\n      sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere);\n    puVar4 = PTR_LAB_00190bc0;\n    pPVar15 = pParse;\n    pTVar31 = unaff_s1;\n    pTVar35 = unaff_s5;\n    pWVar38 = unaff_s8;\n    if (iVar7 == 0) {\n      if (unaff_s1->nModuleArg == 0) {\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pPVar19 = sContext.pParse;\n    if (sContext.pParse != (Parse *)0x0) {\n      sContext.pParse = (Parse *)0x0;\n      pPVar19->zAuthContext = sContext.zAuthContext;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(psVar32,pcStack_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);\n    pParse = pPVar15;\n    unaff_s1 = pTVar31;\n    unaff_s5 = pTVar35;\n    unaff_s8 = pWVar38;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges);\n  } while( true );" do (compound_statement "{\n    if ((Select *)pWhere != (Select *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);\n    }\n    if (pEStack_f8 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);\n    }\n    if (pEStack_f4 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);\n    }\n    if (iVar17 == *(int *)puVar5) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    pcVar27 = pcStack_e4;\n    if (pcVar13 == (code *)0x0) {\n      iStack_94 = 0;\n      pcStack_cc = pcStack_e4;\n    }\n    else {\n      iStack_94 = 0;\nLAB_0010dd48:\n      pcVar27 = pcVar27 + 1;\n      pParse->nMem = (int)pcVar27;\n      pcStack_cc = pcVar27;\n    }\nLAB_0010dd54:\n    pcStack_8c = pcVar27 + 1;\n    pParse->nMem = (int)(pcVar27 + unaff_s1->nCol);\nLAB_0010dd68:\n    if (pSStack_bc != (Select *)0x0) {\n      sContext.zAuthContext = pParse->zAuthContext;\n      pParse->zAuthContext = unaff_s1->zName;\n      sContext.pParse = pParse;\n      sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }\n    iVar7 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere);\n    puVar4 = PTR_LAB_00190bc0;\n    pPVar15 = pParse;\n    pTVar31 = unaff_s1;\n    pTVar35 = unaff_s5;\n    pWVar38 = unaff_s8;\n    if (iVar7 == 0) {\n      if (unaff_s1->nModuleArg == 0) {\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pPVar19 = sContext.pParse;\n    if (sContext.pParse != (Parse *)0x0) {\n      sContext.pParse = (Parse *)0x0;\n      pPVar19->zAuthContext = sContext.zAuthContext;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(psVar32,pcStack_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);\n    pParse = pPVar15;\n    unaff_s1 = pTVar31;\n    unaff_s5 = pTVar35;\n    unaff_s8 = pWVar38;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges);\n  }" { (if_statement "if ((Select *)pWhere != (Select *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);\n    }" if (parenthesized_expression "((Select *)pWhere != (Select *)0x0)" ( (binary_expression "(Select *)pWhere != (Select *)0x0" (cast_expression "(Select *)pWhere" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(Select *)0x0" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pWhere)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x47b0)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x47b0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x47b0)" ( (binary_expression "PTR_LAB_00190bb8 + -0x47b0" identifier + number_literal) )))) )) (argument_list "(psVar32,pWhere)" ( identifier , identifier ))) ;) })) (if_statement "if (pEStack_f8 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);\n    }" if (parenthesized_expression "(pEStack_f8 != (Expr *)0x0)" ( (binary_expression "pEStack_f8 != (Expr *)0x0" identifier != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pEStack_f8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x4644)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x4644)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x4644)" ( (binary_expression "PTR_LAB_00190bb8 + -0x4644" identifier + number_literal) )))) )) (argument_list "(psVar32,pEStack_f8)" ( identifier , identifier ))) ;) })) (if_statement "if (pEStack_f4 != (Expr *)0x0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);\n    }" if (parenthesized_expression "(pEStack_f4 != (Expr *)0x0)" ( (binary_expression "pEStack_f4 != (Expr *)0x0" identifier != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(psVar32,pEStack_f4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x47b0)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x47b0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x47b0)" ( (binary_expression "PTR_LAB_00190bb8 + -0x47b0" identifier + number_literal) )))) )) (argument_list "(psVar32,pEStack_f4)" ( identifier , identifier ))) ;) })) (if_statement "if (iVar17 == *(int *)puVar5) {\n      return;\n    }" if (parenthesized_expression "(iVar17 == *(int *)puVar5)" ( (binary_expression "iVar17 == *(int *)puVar5" identifier == (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();" (assignment_expression "pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)()" identifier = (cast_expression "(code *)(*(code *)PTR___stack_chk_fail_00190df8)()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (labeled_statement "LAB_0010ef6c:\n    pcVar27 = pcStack_e4;" statement_identifier : (expression_statement "pcVar27 = pcStack_e4;" (assignment_expression "pcVar27 = pcStack_e4" identifier = identifier) ;)) (if_statement "if (pcVar13 == (code *)0x0) {\n      iStack_94 = 0;\n      pcStack_cc = pcStack_e4;\n    }\n    else {\n      iStack_94 = 0;\nLAB_0010dd48:\n      pcVar27 = pcVar27 + 1;\n      pParse->nMem = (int)pcVar27;\n      pcStack_cc = pcVar27;\n    }" if (parenthesized_expression "(pcVar13 == (code *)0x0)" ( (binary_expression "pcVar13 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iStack_94 = 0;\n      pcStack_cc = pcStack_e4;\n    }" { (expression_statement "iStack_94 = 0;" (assignment_expression "iStack_94 = 0" identifier = number_literal) ;) (expression_statement "pcStack_cc = pcStack_e4;" (assignment_expression "pcStack_cc = pcStack_e4" identifier = identifier) ;) }) (else_clause "else {\n      iStack_94 = 0;\nLAB_0010dd48:\n      pcVar27 = pcVar27 + 1;\n      pParse->nMem = (int)pcVar27;\n      pcStack_cc = pcVar27;\n    }" else (compound_statement "{\n      iStack_94 = 0;\nLAB_0010dd48:\n      pcVar27 = pcVar27 + 1;\n      pParse->nMem = (int)pcVar27;\n      pcStack_cc = pcVar27;\n    }" { (expression_statement "iStack_94 = 0;" (assignment_expression "iStack_94 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010dd48:\n      pcVar27 = pcVar27 + 1;" statement_identifier : (expression_statement "pcVar27 = pcVar27 + 1;" (assignment_expression "pcVar27 = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;)) (expression_statement "pParse->nMem = (int)pcVar27;" (assignment_expression "pParse->nMem = (int)pcVar27" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcStack_cc = pcVar27;" (assignment_expression "pcStack_cc = pcVar27" identifier = identifier) ;) }))) (labeled_statement "LAB_0010dd54:\n    pcStack_8c = pcVar27 + 1;" statement_identifier : (expression_statement "pcStack_8c = pcVar27 + 1;" (assignment_expression "pcStack_8c = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;)) (expression_statement "pParse->nMem = (int)(pcVar27 + unaff_s1->nCol);" (assignment_expression "pParse->nMem = (int)(pcVar27 + unaff_s1->nCol)" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)(pcVar27 + unaff_s1->nCol)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar27 + unaff_s1->nCol)" ( (binary_expression "pcVar27 + unaff_s1->nCol" identifier + (field_expression "unaff_s1->nCol" identifier -> field_identifier)) )))) ;) (labeled_statement "LAB_0010dd68:\n    if (pSStack_bc != (Select *)0x0) {\n      sContext.zAuthContext = pParse->zAuthContext;\n      pParse->zAuthContext = unaff_s1->zName;\n      sContext.pParse = pParse;\n      sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }" statement_identifier : (if_statement "if (pSStack_bc != (Select *)0x0) {\n      sContext.zAuthContext = pParse->zAuthContext;\n      pParse->zAuthContext = unaff_s1->zName;\n      sContext.pParse = pParse;\n      sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }" if (parenthesized_expression "(pSStack_bc != (Select *)0x0)" ( (binary_expression "pSStack_bc != (Select *)0x0" identifier != (cast_expression "(Select *)0x0" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sContext.zAuthContext = pParse->zAuthContext;\n      pParse->zAuthContext = unaff_s1->zName;\n      sContext.pParse = pParse;\n      sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);\n      pEStack_f4 = (Expr *)0x0;\n      pEStack_f8 = (Expr *)0x0;\n    }" { (expression_statement "sContext.zAuthContext = pParse->zAuthContext;" (assignment_expression "sContext.zAuthContext = pParse->zAuthContext" (field_expression "sContext.zAuthContext" identifier . field_identifier) = (field_expression "pParse->zAuthContext" identifier -> field_identifier)) ;) (expression_statement "pParse->zAuthContext = unaff_s1->zName;" (assignment_expression "pParse->zAuthContext = unaff_s1->zName" (field_expression "pParse->zAuthContext" identifier -> field_identifier) = (field_expression "unaff_s1->zName" identifier -> field_identifier)) ;) (expression_statement "sContext.pParse = pParse;" (assignment_expression "sContext.pParse = pParse" (field_expression "sContext.pParse" identifier . field_identifier) = identifier) ;) (expression_statement "sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8);" (call_expression "sqlite3MaterializeView\n                (pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8)" identifier (argument_list "(pParse,unaff_s1,(Expr *)unaff_s1->pSchema,(ExprList *)pWhere,pEStack_f8,\n                 (int)pEStack_f4,(Table *)unaff_s8)" ( identifier , identifier , (cast_expression "(Expr *)unaff_s1->pSchema" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s1->pSchema" identifier -> field_identifier)) , (cast_expression "(ExprList *)pWhere" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(int)pEStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(Table *)unaff_s8" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "pEStack_f4 = (Expr *)0x0;" (assignment_expression "pEStack_f4 = (Expr *)0x0" identifier = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_f8 = (Expr *)0x0;" (assignment_expression "pEStack_f8 = (Expr *)0x0" identifier = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "iVar7 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere);" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x6280))(&sNC,pWhere)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x6280))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x6280)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x6280)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x6280)" ( (binary_expression "PTR_LAB_00190bdc + 0x6280" identifier + number_literal) )))) )) (argument_list "(&sNC,pWhere)" ( (pointer_expression "&sNC" & identifier) , identifier )))) ;) (expression_statement "puVar4 = PTR_LAB_00190bc0;" (assignment_expression "puVar4 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "pPVar15 = pParse;" (assignment_expression "pPVar15 = pParse" identifier = identifier) ;) (expression_statement "pTVar31 = unaff_s1;" (assignment_expression "pTVar31 = unaff_s1" identifier = identifier) ;) (expression_statement "pTVar35 = unaff_s5;" (assignment_expression "pTVar35 = unaff_s5" identifier = identifier) ;) (expression_statement "pWVar38 = unaff_s8;" (assignment_expression "pWVar38 = unaff_s8" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\n      if (unaff_s1->nModuleArg == 0) {\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if (unaff_s1->nModuleArg == 0) {\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }\n    }" { (if_statement "if (unaff_s1->nModuleArg == 0) {\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }" if (parenthesized_expression "(unaff_s1->nModuleArg == 0)" ( (binary_expression "unaff_s1->nModuleArg == 0" (field_expression "unaff_s1->nModuleArg" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        pWVar8 = (WhereInfo *)(pParse->nLabel + -1);\n        pParse->nLabel = (int)pWVar8;\n        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }\n        if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }\n        pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);\n        puVar4 = PTR_LAB_00190c58;\n        if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }\n        if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }\n        if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }\n        (*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);\n        if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }\n        (*(code *)pTVar31)(unaff_s7,pWVar8);\n        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }\n        pWVar38 = (WhereInfo *)&SUB_00000002;\n        if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }" { (expression_statement "pWVar8 = (WhereInfo *)(pParse->nLabel + -1);" (assignment_expression "pWVar8 = (WhereInfo *)(pParse->nLabel + -1)" identifier = (cast_expression "(WhereInfo *)(pParse->nLabel + -1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pParse->nLabel + -1)" ( (binary_expression "pParse->nLabel + -1" (field_expression "pParse->nLabel" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "pParse->nLabel = (int)pWVar8;" (assignment_expression "pParse->nLabel = (int)pWVar8" (field_expression "pParse->nLabel" identifier -> field_identifier) = (cast_expression "(int)pWVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')) {\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }\n        else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }" if (parenthesized_expression "((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0'))" ( (binary_expression "(((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)) ||\n           (pParse->nested != '\0')" (parenthesized_expression "(((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0))" ( (binary_expression "((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (Table *)0x0)" (parenthesized_expression "((psVar32->flags & 0x80) == 0)" ( (binary_expression "(psVar32->flags & 0x80) == 0" (parenthesized_expression "(psVar32->flags & 0x80)" ( (binary_expression "psVar32->flags & 0x80" (field_expression "psVar32->flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "(pParse->pTriggerTab != (Table *)0x0)" ( (binary_expression "pParse->pTriggerTab != (Table *)0x0" (field_expression "pParse->pTriggerTab" identifier -> field_identifier) != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(pParse->nested != '\0')" ( (binary_expression "pParse->nested != '\0'" (field_expression "pParse->nested" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);\n          iVar7 = 0;\n          iStack_9c = 0;\n          iStack_a0 = 0;\n          uVar2 = '\x01';\n          pWStack_88 = (WhereInfo *)0x0;\nLAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n        }" { (if_statement "if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }" if (parenthesized_expression "((unaff_s1->tabFlags & 0x20) == 0)" ( (binary_expression "(unaff_s1->tabFlags & 0x20) == 0" (parenthesized_expression "(unaff_s1->tabFlags & 0x20)" ( (binary_expression "unaff_s1->tabFlags & 0x20" (field_expression "unaff_s1->tabFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iStack_b4 = 0;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x49,0,iStack_ac,pcStack_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (if_statement "if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }" if (parenthesized_expression "(pUStack_e8 == (Upsert *)0x0)" ( (binary_expression "pUStack_e8 == (Upsert *)0x0" identifier == (cast_expression "(Upsert *)0x0" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iStack_9c = 0;\n              goto LAB_0010efcc;\n            }" { (expression_statement "iStack_9c = 0;" (assignment_expression "iStack_9c = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0010efcc;" goto statement_identifier ;) })) (expression_statement "pcStack_dc = (code *)0x0;" (assignment_expression "pcStack_dc = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = (code *)0x0;" (assignment_expression "pcVar27 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_b4 = 0;" (assignment_expression "iStack_b4 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }" else (compound_statement "{\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);\n            pParse->nMem = (int)pcStack_dc;\n            if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }\n          }" { (expression_statement "iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;" (assignment_expression "iStack_b4 = (int)*(short *)&unaff_s5->field_0x32" identifier = (cast_expression "(int)*(short *)&unaff_s5->field_0x32" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)&unaff_s5->field_0x32" * (cast_expression "(short *)&unaff_s5->field_0x32" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s5->field_0x32" & (field_expression "unaff_s5->field_0x32" identifier -> field_identifier)))))) ;) (expression_statement "pcVar27 = (code *)(pParse->nMem + 1);" (assignment_expression "pcVar27 = (code *)(pParse->nMem + 1)" identifier = (cast_expression "(code *)(pParse->nMem + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pParse->nMem + 1)" ( (binary_expression "pParse->nMem + 1" (field_expression "pParse->nMem" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1);" (assignment_expression "pcStack_dc = (code *)(pParse->nMem + iStack_b4 + 1)" identifier = (cast_expression "(code *)(pParse->nMem + iStack_b4 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pParse->nMem + iStack_b4 + 1)" ( (binary_expression "pParse->nMem + iStack_b4 + 1" (binary_expression "pParse->nMem + iStack_b4" (field_expression "pParse->nMem" identifier -> field_identifier) + identifier) + number_literal) )))) ;) (expression_statement "pParse->nMem = (int)pcStack_dc;" (assignment_expression "pParse->nMem = (int)pcStack_dc" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)pcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pUStack_e8 == (Upsert *)0x0) {\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }" if (parenthesized_expression "(pUStack_e8 == (Upsert *)0x0)" ( (binary_expression "pUStack_e8 == (Upsert *)0x0" identifier == (cast_expression "(Upsert *)0x0" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iStack_9c = 0;\n              goto LAB_0010e728;\n            }" { (expression_statement "iStack_9c = 0;" (assignment_expression "iStack_9c = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0010e728;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10);" (call_expression "(*(code *)(PTR_LAB_00190bd0 + 0x6550))(pParse,pWhere,pWVar8,0x10)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bd0 + 0x6550))" ( (pointer_expression "*(code *)(PTR_LAB_00190bd0 + 0x6550)" * (cast_expression "(code *)(PTR_LAB_00190bd0 + 0x6550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bd0 + 0x6550)" ( (binary_expression "PTR_LAB_00190bd0 + 0x6550" identifier + number_literal) )))) )) (argument_list "(pParse,pWhere,pWVar8,0x10)" ( identifier , identifier , identifier , number_literal ))) ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iStack_9c = 0;" (assignment_expression "iStack_9c = 0" identifier = number_literal) ;) (expression_statement "iStack_a0 = 0;" (assignment_expression "iStack_a0 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = '\x01';" (assignment_expression "uVar2 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pWStack_88 = (WhereInfo *)0x0;" (assignment_expression "pWStack_88 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0010de98:\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }" statement_identifier : (if_statement "if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }\n          else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }" if (parenthesized_expression "((unaff_s1->tabFlags & 0x20) == 0)" ( (binary_expression "(unaff_s1->tabFlags & 0x20) == 0" (parenthesized_expression "(unaff_s1->tabFlags & 0x20)" ( (binary_expression "unaff_s1->tabFlags & 0x20" (field_expression "unaff_s1->tabFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n            iStack_b4 = 0;\nLAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,pcStack_e4,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x80,unaff_s8,pcStack_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iStack_b4 = 0;" (assignment_expression "iStack_b4 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010df40:\n            if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }" statement_identifier : (if_statement "if (pUStack_e8 == (Upsert *)0x0) {\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }" if (parenthesized_expression "(pUStack_e8 == (Upsert *)0x0)" ( (binary_expression "pUStack_e8 == (Upsert *)0x0" identifier == (cast_expression "(Upsert *)0x0" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              iVar7 = pParse->nLabel;\nLAB_0010e570:\n              pParse->nLabel = iVar7 + -1;\n              pWStack_d4 = (WhereInfo *)(iVar7 + -1);\n              goto LAB_0010e580;\n            }" { (if_statement "if (uVar2 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }" if (parenthesized_expression "(uVar2 != '\x02')" ( (binary_expression "uVar2 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n                if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(pWStack_88)" ( identifier ))) ;) (if_statement "if (pSStack_bc != (Select *)0x0) {\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }" if (parenthesized_expression "(pSStack_bc != (Select *)0x0)" ( (binary_expression "pSStack_bc != (Select *)0x0" identifier != (cast_expression "(Select *)0x0" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }" { (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010e700;" goto statement_identifier ;) })) (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010ea7c;" goto statement_identifier ;) })) (if_statement "if (pSStack_bc == (Select *)0x0) {\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }" if (parenthesized_expression "(pSStack_bc == (Select *)0x0)" ( (binary_expression "pSStack_bc == (Select *)0x0" identifier == (cast_expression "(Select *)0x0" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }" { (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010e5d8;" goto statement_identifier ;) })) (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "iVar7 = pParse->nLabel;" (assignment_expression "iVar7 = pParse->nLabel" identifier = (field_expression "pParse->nLabel" identifier -> field_identifier)) ;) (labeled_statement "LAB_0010e570:\n              pParse->nLabel = iVar7 + -1;" statement_identifier : (expression_statement "pParse->nLabel = iVar7 + -1;" (assignment_expression "pParse->nLabel = iVar7 + -1" (field_expression "pParse->nLabel" identifier -> field_identifier) = (binary_expression "iVar7 + -1" identifier + number_literal)) ;)) (expression_statement "pWStack_d4 = (WhereInfo *)(iVar7 + -1);" (assignment_expression "pWStack_d4 = (WhereInfo *)(iVar7 + -1)" identifier = (cast_expression "(WhereInfo *)(iVar7 + -1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -1)" ( (binary_expression "iVar7 + -1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010e580;" goto statement_identifier ;) }))) (expression_statement "iStack_ac = 0;" (assignment_expression "iStack_ac = 0" identifier = number_literal) ;) (expression_statement "pWStack_d4 = pWVar8;" (assignment_expression "pWStack_d4 = pWVar8" identifier = identifier) ;) }) (else_clause "else {\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }" else (compound_statement "{\n            if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar9 = 0;\n            pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcVar13 = pcVar27;\n            do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);\nLAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;\n            pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);\n            uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);\n            uVar2 = '\0';\n            if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;\n            iStack_b4 = 0;\n            iStack_ac = 0;\n            pWStack_d4 = pWVar8;\n          }" { (if_statement "if (iStack_b4 < 1) {\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }" if (parenthesized_expression "(iStack_b4 < 1)" ( (binary_expression "iStack_b4 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_0010df38:\n              pcStack_dc = pcVar27;\n              if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }\n              goto LAB_0010df40;\n            }" { (labeled_statement "LAB_0010df38:\n              pcStack_dc = pcVar27;" statement_identifier : (expression_statement "pcStack_dc = pcVar27;" (assignment_expression "pcStack_dc = pcVar27" identifier = identifier) ;)) (if_statement "if (iVar7 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,iVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2478)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2478)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2478" identifier + number_literal) )))) )) (argument_list "(unaff_s7->db,&unaff_s7->nTableLock,iVar7)" ( (field_expression "unaff_s7->db" identifier -> field_identifier) , (pointer_expression "&unaff_s7->nTableLock" & (field_expression "unaff_s7->nTableLock" identifier -> field_identifier)) , identifier ))) ;) })) (goto_statement "goto LAB_0010df40;" goto statement_identifier ;) })) (labeled_statement "LAB_0010deb0:\n            iVar9 = 0;" statement_identifier : (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;)) (expression_statement "pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcVar36 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "pcVar13 = pcVar27;" (assignment_expression "pcVar13 = pcVar27" identifier = identifier) ;) (do_statement "do {\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            } while (iStack_b4 << 1 != iVar9);" do (compound_statement "{\n              psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);\n              iVar9 = iVar9 + 2;\n              (*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);\n              pcVar13 = pcVar13 + 1;\n            }" { (expression_statement "psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9);" (assignment_expression "psVar25 = (short *)((int)&unaff_s5->aCol->zName + iVar9)" identifier = (cast_expression "(short *)((int)&unaff_s5->aCol->zName + iVar9)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s5->aCol->zName + iVar9)" ( (binary_expression "(int)&unaff_s5->aCol->zName + iVar9" (cast_expression "(int)&unaff_s5->aCol->zName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s5->aCol->zName" & (field_expression "unaff_s5->aCol->zName" (field_expression "unaff_s5->aCol" identifier -> field_identifier) -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar9 = iVar9 + 2;" (assignment_expression "iVar9 = iVar9 + 2" identifier = (binary_expression "iVar9 + 2" identifier + number_literal)) ;) (expression_statement "(*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13);" (call_expression "(*pcVar36)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,(int)*psVar25,pcVar13)" ( identifier , identifier , identifier , (cast_expression "(int)*psVar25" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*psVar25" * identifier)) , identifier ))) ;) (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iStack_b4 << 1 != iVar9)" ( (binary_expression "iStack_b4 << 1 != iVar9" (binary_expression "iStack_b4 << 1" identifier << number_literal) != identifier) )) ;) (labeled_statement "LAB_0010df30:\n            if (uVar2 != '\0') goto LAB_0010df38;" statement_identifier : (if_statement "if (uVar2 != '\0') goto LAB_0010df38;" if (parenthesized_expression "(uVar2 != '\0')" ( (binary_expression "uVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010df38;" goto statement_identifier ;))) (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (labeled_statement "LAB_0010ee9c:\n            uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);" statement_identifier : (expression_statement "uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5);" (assignment_expression "uVar26 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(psVar32,unaff_s5)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x1c4c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x1c4c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x1c4c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x1c4c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x1c4c" identifier + number_literal) )))) )) (argument_list "(psVar32,unaff_s5)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc);" (assignment_expression "uVar12 = (*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc)" identifier = (call_expression "(*pcStack_f0)(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x66,pcVar27,iStack_b4,pcStack_dc)" ( identifier , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar26,iStack_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + 0x7a3c)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x7a3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x7a3c)" ( (binary_expression "PTR_LAB_00190ba4 + 0x7a3c" identifier + number_literal) )))) )) (argument_list "(unaff_s7,uVar12,uVar26,iStack_b4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x84,iStack_a0,pcStack_dc,pcVar27,iStack_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar2 = '\0';" (assignment_expression "uVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pUStack_e8 == (Upsert *)0x0) goto LAB_0010e8dc;" if (parenthesized_expression "(pUStack_e8 == (Upsert *)0x0)" ( (binary_expression "pUStack_e8 == (Upsert *)0x0" identifier == (cast_expression "(Upsert *)0x0" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010e8dc;" goto statement_identifier ;)) (expression_statement "iStack_b4 = 0;" (assignment_expression "iStack_b4 = 0" identifier = number_literal) ;) (expression_statement "iStack_ac = 0;" (assignment_expression "iStack_ac = 0" identifier = number_literal) ;) (expression_statement "pWStack_d4 = pWVar8;" (assignment_expression "pWStack_d4 = pWVar8" identifier = identifier) ;) })))) }) (else_clause "else {\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }" else (compound_statement "{\n          if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }\n          iStack_9c = pParse->nMem + 1;\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          pParse->nMem = iStack_9c;\n          (*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }\n          pcStack_f0 = (code *)(puVar4 + 0x10fc);\n          wctrlFlags = 0x1004;\n          if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }\n          pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);\n          if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;\n          aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];\n          uVar2 = pWStack_88->eOnePass;\n          if (uVar2 == '\x01') goto LAB_0010de98;\n          pPVar19 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }\n          pPVar19->isMultiWrite = '\x01';\n          if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n          if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n          if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }\n        }" { (if_statement "if (pUStack_e8 != (Upsert *)0x0) {\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }" if (parenthesized_expression "(pUStack_e8 != (Upsert *)0x0)" ( (binary_expression "pUStack_e8 != (Upsert *)0x0" identifier != (cast_expression "(Upsert *)0x0" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }\n            goto LAB_0010de50;\n          }" { (if_statement "if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }\n            else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }" if (parenthesized_expression "((unaff_s1->tabFlags & 0x20) == 0)" ( (binary_expression "(unaff_s1->tabFlags & 0x20) == 0" (parenthesized_expression "(unaff_s1->tabFlags & 0x20)" ( (binary_expression "unaff_s1->tabFlags & 0x20" (field_expression "unaff_s1->tabFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\n              pcVar27 = (code *)0x0;\n              iStack_b4 = 0;\n              pcStack_dc = (code *)0x0;\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,iStack_ac,pcStack_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x49,0,iStack_ac,pcStack_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "pcVar27 = (code *)0x0;" (assignment_expression "pcVar27 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_b4 = 0;" (assignment_expression "iStack_b4 = 0" identifier = number_literal) ;) (expression_statement "pcStack_dc = (code *)0x0;" (assignment_expression "pcStack_dc = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }" else (compound_statement "{\n              iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n              pcVar27 = (code *)(pParse->nMem + 1);\n              pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n              pParse->nMem = (int)pcStack_dc;\n            }" { (expression_statement "iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;" (assignment_expression "iStack_b4 = (int)*(short *)&unaff_s5->field_0x32" identifier = (cast_expression "(int)*(short *)&unaff_s5->field_0x32" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)&unaff_s5->field_0x32" * (cast_expression "(short *)&unaff_s5->field_0x32" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s5->field_0x32" & (field_expression "unaff_s5->field_0x32" identifier -> field_identifier)))))) ;) (expression_statement "pcVar27 = (code *)(pParse->nMem + 1);" (assignment_expression "pcVar27 = (code *)(pParse->nMem + 1)" identifier = (cast_expression "(code *)(pParse->nMem + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pParse->nMem + 1)" ( (binary_expression "pParse->nMem + 1" (field_expression "pParse->nMem" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);" (assignment_expression "pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1)" identifier = (cast_expression "(code *)(iStack_b4 + pParse->nMem + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b4 + pParse->nMem + 1)" ( (binary_expression "iStack_b4 + pParse->nMem + 1" (binary_expression "iStack_b4 + pParse->nMem" identifier + (field_expression "pParse->nMem" identifier -> field_identifier)) + number_literal) )))) ;) (expression_statement "pParse->nMem = (int)pcStack_dc;" (assignment_expression "pParse->nMem = (int)pcStack_dc" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)pcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (goto_statement "goto LAB_0010de50;" goto statement_identifier ;) })) (expression_statement "iStack_9c = pParse->nMem + 1;" (assignment_expression "iStack_9c = pParse->nMem + 1" identifier = (binary_expression "pParse->nMem + 1" (field_expression "pParse->nMem" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "pParse->nMem = iStack_9c;" (assignment_expression "pParse->nMem = iStack_9c" (field_expression "pParse->nMem" identifier -> field_identifier) = identifier) ;) (expression_statement "(*pcVar27)(unaff_s7,0x46,0,iStack_9c,0);" (call_expression "(*pcVar27)(unaff_s7,0x46,0,iStack_9c,0)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(unaff_s7,0x46,0,iStack_9c,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (if_statement "if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }\n          else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }" if (parenthesized_expression "((unaff_s1->tabFlags & 0x20) == 0)" ( (binary_expression "(unaff_s1->tabFlags & 0x20) == 0" (parenthesized_expression "(unaff_s1->tabFlags & 0x20)" ( (binary_expression "unaff_s1->tabFlags & 0x20" (field_expression "unaff_s1->tabFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);\nLAB_0010efcc:\n            pcStack_dc = (code *)0x0;\n            pcVar27 = (code *)0x0;\n            iVar7 = 0;\n            iStack_a0 = 0;\n            iStack_b4 = 0;\n          }" { (expression_statement "(*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4);" (call_expression "(*pcVar27)(unaff_s7,0x49,0,iStack_ac,pcStack_e4)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(unaff_s7,0x49,0,iStack_ac,pcStack_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_0010efcc:\n            pcStack_dc = (code *)0x0;" statement_identifier : (expression_statement "pcStack_dc = (code *)0x0;" (assignment_expression "pcStack_dc = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar27 = (code *)0x0;" (assignment_expression "pcVar27 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iStack_a0 = 0;" (assignment_expression "iStack_a0 = 0" identifier = number_literal) ;) (expression_statement "iStack_b4 = 0;" (assignment_expression "iStack_b4 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }" else (compound_statement "{\n            iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;\n            pcVar27 = (code *)(pParse->nMem + 1);\n            pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);\n            pParse->nMem = (int)pcStack_dc;\nLAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            iStack_a0 = pParse->nTab;\n            pParse->nTab = iStack_a0 + 1;\n            (*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);\n            iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);\n          }" { (expression_statement "iStack_b4 = (int)*(short *)&unaff_s5->field_0x32;" (assignment_expression "iStack_b4 = (int)*(short *)&unaff_s5->field_0x32" identifier = (cast_expression "(int)*(short *)&unaff_s5->field_0x32" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)&unaff_s5->field_0x32" * (cast_expression "(short *)&unaff_s5->field_0x32" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s5->field_0x32" & (field_expression "unaff_s5->field_0x32" identifier -> field_identifier)))))) ;) (expression_statement "pcVar27 = (code *)(pParse->nMem + 1);" (assignment_expression "pcVar27 = (code *)(pParse->nMem + 1)" identifier = (cast_expression "(code *)(pParse->nMem + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pParse->nMem + 1)" ( (binary_expression "pParse->nMem + 1" (field_expression "pParse->nMem" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1);" (assignment_expression "pcStack_dc = (code *)(iStack_b4 + pParse->nMem + 1)" identifier = (cast_expression "(code *)(iStack_b4 + pParse->nMem + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b4 + pParse->nMem + 1)" ( (binary_expression "iStack_b4 + pParse->nMem + 1" (binary_expression "iStack_b4 + pParse->nMem" identifier + (field_expression "pParse->nMem" identifier -> field_identifier)) + number_literal) )))) ;) (expression_statement "pParse->nMem = (int)pcStack_dc;" (assignment_expression "pParse->nMem = (int)pcStack_dc" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)pcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (labeled_statement "LAB_0010e728:\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);" statement_identifier : (expression_statement "pcStack_f0 = (code *)(puVar4 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(puVar4 + 0x10fc)" identifier = (cast_expression "(code *)(puVar4 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x10fc)" ( (binary_expression "puVar4 + 0x10fc" identifier + number_literal) )))) ;)) (expression_statement "iStack_a0 = pParse->nTab;" (assignment_expression "iStack_a0 = pParse->nTab" identifier = (field_expression "pParse->nTab" identifier -> field_identifier)) ;) (expression_statement "pParse->nTab = iStack_a0 + 1;" (assignment_expression "pParse->nTab = iStack_a0 + 1" (field_expression "pParse->nTab" identifier -> field_identifier) = (binary_expression "iStack_a0 + 1" identifier + number_literal)) ;) (expression_statement "(*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1);" (call_expression "(*pcStack_f0)(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x49,0,pcVar27,pcVar27 + iStack_b4 + -1)" ( identifier , number_literal , number_literal , identifier , (binary_expression "pcVar27 + iStack_b4 + -1" (binary_expression "pcVar27 + iStack_b4" identifier + identifier) + number_literal) ))) ;) (expression_statement "iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0);" (assignment_expression "iVar7 = (*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0)" identifier = (call_expression "(*pcStack_f0)(unaff_s7,0x71,iStack_a0,iStack_b4,0)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x71,iStack_a0,iStack_b4,0)" ( identifier , number_literal , identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))(pParse,unaff_s5)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x62dc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x62dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x62dc)" ( (binary_expression "PTR_LAB_00190bc4 + -0x62dc" identifier + number_literal) )))) )) (argument_list "(pParse,unaff_s5)" ( identifier , identifier ))) ;) }))) (expression_statement "pcStack_f0 = (code *)(puVar4 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(puVar4 + 0x10fc)" identifier = (cast_expression "(code *)(puVar4 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x10fc)" ( (binary_expression "puVar4 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "wctrlFlags = 0x1004;" (assignment_expression "wctrlFlags = 0x1004" identifier = number_literal) ;) (if_statement "if (((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)) {\n            wctrlFlags = 0x100c;\n          }" if (parenthesized_expression "(((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0))" ( (binary_expression "((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)) &&\n             (wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)" (parenthesized_expression "((pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0))" ( (binary_expression "(pcStack_c4 == (code *)0x0 && pParse->nested == '\0') &&\n              (wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)" (parenthesized_expression "(pcStack_c4 == (code *)0x0 && pParse->nested == '\0')" ( (binary_expression "pcStack_c4 == (code *)0x0 && pParse->nested == '\0'" (binary_expression "pcStack_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pParse->nested == '\0'" (field_expression "pParse->nested" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence '))) )) && (parenthesized_expression "(wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0)" ( (comma_expression "wctrlFlags = 0x1004, pTStack_d0 == (Trigger *)0x0" (assignment_expression "wctrlFlags = 0x1004" identifier = number_literal) , (binary_expression "pTStack_d0 == (Trigger *)0x0" identifier == (cast_expression "(Trigger *)0x0" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0)" ( (comma_expression "wctrlFlags = 0x1004, psStack_c0 == (sqlite3 *)0x0 && bReplace == 0" (assignment_expression "wctrlFlags = 0x1004" identifier = number_literal) , (binary_expression "psStack_c0 == (sqlite3 *)0x0 && bReplace == 0" (binary_expression "psStack_c0 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "bReplace == 0" identifier == number_literal))) ))) )) (compound_statement "{\n            wctrlFlags = 0x100c;\n          }" { (expression_statement "wctrlFlags = 0x100c;" (assignment_expression "wctrlFlags = 0x100c" identifier = number_literal) ;) })) (expression_statement "pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8);" (assignment_expression "pWStack_88 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8)" identifier = (call_expression "sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8)" identifier (argument_list "(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,\n                                         wctrlFlags,(int)pWStack_c8)" ( identifier , identifier , identifier , (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(int)pWStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (pWStack_88 == (WhereInfo *)0x0) goto LAB_0010d60c;" if (parenthesized_expression "(pWStack_88 == (WhereInfo *)0x0)" ( (binary_expression "pWStack_88 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (expression_statement "aiCurOnePass[0] = pWStack_88->aiCurOnePass[0];" (assignment_expression "aiCurOnePass[0] = pWStack_88->aiCurOnePass[0]" (subscript_expression "aiCurOnePass[0]" identifier [ number_literal ]) = (subscript_expression "pWStack_88->aiCurOnePass[0]" (field_expression "pWStack_88->aiCurOnePass" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "aiCurOnePass[1] = pWStack_88->aiCurOnePass[1];" (assignment_expression "aiCurOnePass[1] = pWStack_88->aiCurOnePass[1]" (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ]) = (subscript_expression "pWStack_88->aiCurOnePass[1]" (field_expression "pWStack_88->aiCurOnePass" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar2 = pWStack_88->eOnePass;" (assignment_expression "uVar2 = pWStack_88->eOnePass" identifier = (field_expression "pWStack_88->eOnePass" identifier -> field_identifier)) ;) (if_statement "if (uVar2 == '\x01') goto LAB_0010de98;" if (parenthesized_expression "(uVar2 == '\x01')" ( (binary_expression "uVar2 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010de98;" goto statement_identifier ;)) (expression_statement "pPVar19 = pParse->pToplevel;" (assignment_expression "pPVar19 = pParse->pToplevel" identifier = (field_expression "pParse->pToplevel" identifier -> field_identifier)) ;) (if_statement "if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar19 = pParse;\n          }" if (parenthesized_expression "(pParse->pToplevel == (Parse *)0x0)" ( (binary_expression "pParse->pToplevel == (Parse *)0x0" (field_expression "pParse->pToplevel" identifier -> field_identifier) == (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pPVar19 = pParse;\n          }" { (expression_statement "pPVar19 = pParse;" (assignment_expression "pPVar19 = pParse" identifier = identifier) ;) })) (expression_statement "pPVar19->isMultiWrite = '\x01';" (assignment_expression "pPVar19->isMultiWrite = '\x01'" (field_expression "pPVar19->isMultiWrite" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (uVar2 == '\x02') {\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }" if (parenthesized_expression "(uVar2 == '\x02')" ( (binary_expression "uVar2 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n            if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }\n            uVar2 = '\0';\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }" { (if_statement "if (((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)) goto LAB_0010de98;" if (parenthesized_expression "(((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0))" ( (binary_expression "((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])) ||\n               (pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)" (parenthesized_expression "((aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1]))" ( (binary_expression "(aiCurOnePass[1] < 0) || (unaff_s8 == (WhereInfo *)aiCurOnePass[1])" (parenthesized_expression "(aiCurOnePass[1] < 0)" ( (binary_expression "aiCurOnePass[1] < 0" (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ]) < number_literal) )) || (parenthesized_expression "(unaff_s8 == (WhereInfo *)aiCurOnePass[1])" ( (binary_expression "unaff_s8 == (WhereInfo *)aiCurOnePass[1]" identifier == (cast_expression "(WhereInfo *)aiCurOnePass[1]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0)" ( (binary_expression "pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] == (code)0x0" (subscript_expression "pcStack_98[aiCurOnePass[1] - (int)pWStack_d4]" identifier [ (binary_expression "aiCurOnePass[1] - (int)pWStack_d4" (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ]) - (cast_expression "(int)pWStack_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_0010de98;" goto statement_identifier ;)) (if_statement "if ((unaff_s1->tabFlags & 0x20) == 0) {\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }" if (parenthesized_expression "((unaff_s1->tabFlags & 0x20) == 0)" ( (binary_expression "(unaff_s1->tabFlags & 0x20) == 0" (parenthesized_expression "(unaff_s1->tabFlags & 0x20)" ( (binary_expression "unaff_s1->tabFlags & 0x20" (field_expression "unaff_s1->tabFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              (*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);\n              goto LAB_0010e8bc;\n            }" { (expression_statement "(*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);" (call_expression "(*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x80,unaff_s8,pcStack_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (goto_statement "goto LAB_0010e8bc;" goto statement_identifier ;) })) (expression_statement "uVar2 = '\0';" (assignment_expression "uVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0 < iStack_b4) goto LAB_0010deb0;" if (parenthesized_expression "(0 < iStack_b4)" ( (binary_expression "0 < iStack_b4" number_literal < identifier) )) (goto_statement "goto LAB_0010deb0;" goto statement_identifier ;)) (goto_statement "goto LAB_0010ee9c;" goto statement_identifier ;) })) (if_statement "if ((unaff_s1->tabFlags & 0x20) != 0) {\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }" if (parenthesized_expression "((unaff_s1->tabFlags & 0x20) != 0)" ( (binary_expression "(unaff_s1->tabFlags & 0x20) != 0" (parenthesized_expression "(unaff_s1->tabFlags & 0x20)" ( (binary_expression "unaff_s1->tabFlags & 0x20" (field_expression "unaff_s1->tabFlags" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            if (0 < iStack_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }" { (if_statement "if (0 < iStack_b4) goto LAB_0010deb0;" if (parenthesized_expression "(0 < iStack_b4)" ( (binary_expression "0 < iStack_b4" number_literal < identifier) )) (goto_statement "goto LAB_0010deb0;" goto statement_identifier ;)) (goto_statement "goto LAB_0010df30;" goto statement_identifier ;) })) (expression_statement "(*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0);" (call_expression "(*pcStack_f0)(unaff_s7,0x80,unaff_s8,pcStack_e4,0)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x80,unaff_s8,pcStack_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (uVar2 == '\0') {\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }" if (parenthesized_expression "(uVar2 == '\0')" ( (binary_expression "uVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);\n            uVar2 = '\0';\n          }" { (labeled_statement "LAB_0010e8bc:\n            (*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);" statement_identifier : (expression_statement "(*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0);" (call_expression "(*pcStack_f0)(unaff_s7,0x94,iStack_ac,pcStack_e4,0)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x94,iStack_ac,pcStack_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;)) (expression_statement "uVar2 = '\0';" (assignment_expression "uVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (labeled_statement "LAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(pWStack_88)" ( identifier ))) ;)) (if_statement "if (pSStack_bc == (Select *)0x0) {\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" if (parenthesized_expression "(pSStack_bc == (Select *)0x0)" ( (binary_expression "pSStack_bc == (Select *)0x0" identifier == (cast_expression "(Select *)0x0" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iStack_b4 = 0;\nLAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }\n            if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }" { (expression_statement "iStack_b4 = 0;" (assignment_expression "iStack_b4 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010ea7c:\n            if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }" statement_identifier : (if_statement "if (uVar2 == '\0') {\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }" if (parenthesized_expression "(uVar2 == '\0')" ( (binary_expression "uVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;\n              if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }\n            }" { (labeled_statement "LAB_0010e634:\n              pPVar19 = (Parse *)unaff_s1->nModuleArg;" statement_identifier : (expression_statement "pPVar19 = (Parse *)unaff_s1->nModuleArg;" (assignment_expression "pPVar19 = (Parse *)unaff_s1->nModuleArg" identifier = (cast_expression "(Parse *)unaff_s1->nModuleArg" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s1->nModuleArg" identifier -> field_identifier))) ;)) (if_statement "if (pPVar19 == (Parse *)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }" if (parenthesized_expression "(pPVar19 == (Parse *)0x0)" ( (binary_expression "pPVar19 == (Parse *)0x0" identifier == (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);\n                pPStack_90 = pPVar19;\n                goto LAB_0010e680;\n              }" { (labeled_statement "LAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x64e0)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x64e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x64e0)" ( (binary_expression "PTR_LAB_00190bc4 + 0x64e0" identifier + number_literal) )))) )) (argument_list "(pParse,unaff_s1,0x6e,0,pWStack_d4,pcStack_98,0,0)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , number_literal , number_literal ))) ;)) (expression_statement "pPStack_90 = pPVar19;" (assignment_expression "pPStack_90 = pPVar19" identifier = identifier) ;) (goto_statement "goto LAB_0010e680;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }" else (compound_statement "{\nLAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }\n              if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }\n              if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;\n              pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);\n              if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }\n            }" { (labeled_statement "LAB_0010e5d8:\n              if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }" statement_identifier : (if_statement "if (-1 < aiCurOnePass[0]) {\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }" if (parenthesized_expression "(-1 < aiCurOnePass[0])" ( (binary_expression "-1 < aiCurOnePass[0]" number_literal < (subscript_expression "aiCurOnePass[0]" identifier [ number_literal ])) )) (compound_statement "{\n                pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;\n              }" { (expression_statement "pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0;" (assignment_expression "pcStack_98[aiCurOnePass[0] - (int)pWStack_d4] = (code)0x0" (subscript_expression "pcStack_98[aiCurOnePass[0] - (int)pWStack_d4]" identifier [ (binary_expression "aiCurOnePass[0] - (int)pWStack_d4" (subscript_expression "aiCurOnePass[0]" identifier [ number_literal ]) - (cast_expression "(int)pWStack_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }))) (if_statement "if (-1 < aiCurOnePass[1]) {\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }" if (parenthesized_expression "(-1 < aiCurOnePass[1])" ( (binary_expression "-1 < aiCurOnePass[1]" number_literal < (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ])) )) (compound_statement "{\n                pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;\n              }" { (expression_statement "pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0;" (assignment_expression "pcStack_98[aiCurOnePass[1] - (int)pWStack_d4] = (code)0x0" (subscript_expression "pcStack_98[aiCurOnePass[1] - (int)pWStack_d4]" identifier [ (binary_expression "aiCurOnePass[1] - (int)pWStack_d4" (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ]) - (cast_expression "(int)pWStack_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) (if_statement "if ((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;" if (parenthesized_expression "((uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1))" ( (binary_expression "(uVar2 != '\x02') ||\n                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)" (parenthesized_expression "(uVar2 != '\x02')" ( (binary_expression "uVar2 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)" ( (binary_expression "(int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1" (cast_expression "(int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f))" ( (binary_expression "(int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)" (cast_expression "(int)&pPStack_90->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPStack_90->db" & (field_expression "pPStack_90->db" identifier -> field_identifier))) + (parenthesized_expression "(~aiCurOnePass[1] >> 0x1f)" ( (binary_expression "~aiCurOnePass[1] >> 0x1f" (unary_expression "~aiCurOnePass[1]" ~ (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ])) >> number_literal) ))) ))) < number_literal) ))) )) (goto_statement "goto LAB_0010e634;" goto statement_identifier ;)) (expression_statement "pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0);" (assignment_expression "pPVar19 = (Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0)" identifier = (cast_expression "(Parse *)(*pcStack_f0)(unaff_s7,0x11,0,0,0)" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_f0)(unaff_s7,0x11,0,0,0)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x11,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))))) ;) (if_statement "if (unaff_s1->nModuleArg == 0) goto LAB_0010e640;" if (parenthesized_expression "(unaff_s1->nModuleArg == 0)" ( (binary_expression "unaff_s1->nModuleArg == 0" (field_expression "unaff_s1->nModuleArg" identifier -> field_identifier) == number_literal) )) (goto_statement "goto LAB_0010e640;" goto statement_identifier ;)) (labeled_statement "LAB_0010e680:\n              if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }" statement_identifier : (if_statement "if (pPVar19 != (Parse *)0x0) {\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }" if (parenthesized_expression "(pPVar19 != (Parse *)0x0)" ( (binary_expression "pPVar19 != (Parse *)0x0" identifier != (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pTVar11 = unaff_s7->aTableLock;\n                if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }\n                if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }\n              }" { (expression_statement "pTVar11 = unaff_s7->aTableLock;" (assignment_expression "pTVar11 = unaff_s7->aTableLock" identifier = (field_expression "unaff_s7->aTableLock" identifier -> field_identifier)) ;) (if_statement "if ((int)pPVar19 < 0) {\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }" if (parenthesized_expression "((int)pPVar19 < 0)" ( (binary_expression "(int)pPVar19 < 0" (cast_expression "(int)pPVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                  pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);\n                }" { (expression_statement "pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3);" (assignment_expression "pPVar19 = (Parse *)((int)&pTVar11[-1].zLockName + 3)" identifier = (cast_expression "(Parse *)((int)&pTVar11[-1].zLockName + 3)" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar11[-1].zLockName + 3)" ( (binary_expression "(int)&pTVar11[-1].zLockName + 3" (cast_expression "(int)&pTVar11[-1].zLockName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar11[-1].zLockName" & (field_expression "pTVar11[-1].zLockName" (subscript_expression "pTVar11[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) })) (if_statement "if (unaff_s7->db->mallocFailed == '\0') {\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }\n                else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }" if (parenthesized_expression "(unaff_s7->db->mallocFailed == '\0')" ( (binary_expression "unaff_s7->db->mallocFailed == '\0'" (field_expression "unaff_s7->db->mallocFailed" (field_expression "unaff_s7->db" identifier -> field_identifier) -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  ((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;\n                }" { (expression_statement "((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11;" (assignment_expression "((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2 = (int)pTVar11" (field_expression "((Op *)unaff_s7->nTableLock)[(int)pPVar19].p2" (subscript_expression "((Op *)unaff_s7->nTableLock)[(int)pPVar19]" (parenthesized_expression "((Op *)unaff_s7->nTableLock)" ( (cast_expression "(Op *)unaff_s7->nTableLock" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->nTableLock" identifier -> field_identifier)) )) [ (cast_expression "(int)pPVar19" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) = (cast_expression "(int)pTVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }" else (compound_statement "{\n                  *(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;\n                }" { (expression_statement "*(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11;" (assignment_expression "*(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4) = pTVar11" (pointer_expression "*(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4)" * (cast_expression "(TableLock **)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4)" ( (type_descriptor "TableLock **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4)" ( (binary_expression "PTR_aBuiltinFunc_29540_1408__00190948 + 0xfc4" identifier + number_literal) )))) = identifier) ;) }))) }))) })))) (if_statement "if (uVar2 != '\0') {\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }" if (parenthesized_expression "(uVar2 != '\0')" ( (binary_expression "uVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }\n              goto LAB_0010e700;\n            }" { (if_statement "if (((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }" if (parenthesized_expression "(((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8))" ( (binary_expression "((WhereInfo *)aiCurOnePass[0] != unaff_s8) &&\n                 ((WhereInfo *)aiCurOnePass[1] != unaff_s8)" (parenthesized_expression "((WhereInfo *)aiCurOnePass[0] != unaff_s8)" ( (binary_expression "(WhereInfo *)aiCurOnePass[0] != unaff_s8" (cast_expression "(WhereInfo *)aiCurOnePass[0]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "aiCurOnePass[0]" identifier [ number_literal ])) != identifier) )) && (parenthesized_expression "((WhereInfo *)aiCurOnePass[1] != unaff_s8)" ( (binary_expression "(WhereInfo *)aiCurOnePass[1] != unaff_s8" (cast_expression "(WhereInfo *)aiCurOnePass[1]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ])) != identifier) ))) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,pWVar8,pcStack_dc,iStack_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_0010e700;" goto statement_identifier ;) })) }) (else_clause "else {\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" else (compound_statement "{\n            iStack_b4 = 0;\n            if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" { (expression_statement "iStack_b4 = 0;" (assignment_expression "iStack_b4 = 0" identifier = number_literal) ;) (if_statement "if (uVar2 != '\0') {\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }" if (parenthesized_expression "(uVar2 != '\0')" ( (binary_expression "uVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e700:\n              pWStack_d4 = pWVar8;\n              if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              pcVar27 = pcStack_e4;\n              if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }\n              (*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);\n              iStack_ac = 0;\n              goto LAB_0010df54;\n            }" { (labeled_statement "LAB_0010e700:\n              pWStack_d4 = pWVar8;" statement_identifier : (expression_statement "pWStack_d4 = pWVar8;" (assignment_expression "pWStack_d4 = pWVar8" identifier = identifier) ;)) (if_statement "if (uVar2 != '\x01') {\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }" if (parenthesized_expression "(uVar2 != '\x01')" ( (binary_expression "uVar2 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                iVar7 = pParse->nLabel;\n                goto LAB_0010e570;\n              }" { (expression_statement "iVar7 = pParse->nLabel;" (assignment_expression "iVar7 = pParse->nLabel" identifier = (field_expression "pParse->nLabel" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0010e570;" goto statement_identifier ;) })) (labeled_statement "LAB_0010e580:\n              pcVar27 = pcStack_e4;" statement_identifier : (expression_statement "pcVar27 = pcStack_e4;" (assignment_expression "pcVar27 = pcStack_e4" identifier = identifier) ;)) (if_statement "if (unaff_s5 != (Table *)0x0) {\n                pcVar27 = pcStack_dc;\n              }" if (parenthesized_expression "(unaff_s5 != (Table *)0x0)" ( (binary_expression "unaff_s5 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar27 = pcStack_dc;\n              }" { (expression_statement "pcVar27 = pcStack_dc;" (assignment_expression "pcVar27 = pcStack_dc" identifier = identifier) ;) })) (expression_statement "(*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0);" (call_expression "(*pcStack_f0)(unaff_s7,0x32,pcVar27,pWVar8,0)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x32,pcVar27,pWVar8,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iStack_ac = 0;" (assignment_expression "iStack_ac = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0010df54;" goto statement_identifier ;) })) }))) (if_statement "if (unaff_s5 == (Table *)0x0) {\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }\n          else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }" if (parenthesized_expression "(unaff_s5 == (Table *)0x0)" ( (binary_expression "unaff_s5 == (Table *)0x0" identifier == (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);\n            (*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n            uVar2 = '\0';\n            iStack_ac = 0;\n          }" { (expression_statement "pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4);" (assignment_expression "pWStack_d4 = (WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4)" identifier = (cast_expression "(WhereInfo *)(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_f0)(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x29,iStack_ac,pWVar8,pcStack_e4)" ( identifier , number_literal , identifier , identifier , identifier ))))) ;) (expression_statement "(*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);" (call_expression "(*pcStack_f0)(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar2 = '\0';" (assignment_expression "uVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iStack_ac = 0;" (assignment_expression "iStack_ac = 0" identifier = number_literal) ;) }) (else_clause "else {\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }" else (compound_statement "{\n            pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);\n            pParse->nLabel = (int)pWStack_d4;\n            (*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);\n            iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);\n            uVar2 = '\0';\n          }" { (expression_statement "pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1);" (assignment_expression "pWStack_d4 = (WhereInfo *)(pParse->nLabel + -1)" identifier = (cast_expression "(WhereInfo *)(pParse->nLabel + -1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pParse->nLabel + -1)" ( (binary_expression "pParse->nLabel + -1" (field_expression "pParse->nLabel" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "pParse->nLabel = (int)pWStack_d4;" (assignment_expression "pParse->nLabel = (int)pWStack_d4" (field_expression "pParse->nLabel" identifier -> field_identifier) = (cast_expression "(int)pWStack_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0);" (call_expression "(*pcStack_f0)(unaff_s7,0x24,iStack_a0,pWVar8,0)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x24,iStack_a0,pWVar8,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0);" (assignment_expression "iStack_ac = (*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0)" identifier = (call_expression "(*pcStack_f0)(unaff_s7,0x7f,iStack_a0,pcStack_dc,0)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x7f,iStack_a0,pcStack_dc,0)" ( identifier , number_literal , identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,0)" ( identifier , number_literal , identifier , identifier , identifier , number_literal ))) ;) (expression_statement "uVar2 = '\0';" (assignment_expression "uVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }))) (labeled_statement "LAB_0010df54:\n        if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }" statement_identifier : (if_statement "if (pcStack_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }" if (parenthesized_expression "(pcStack_d8 != (code *)0x0)" ( (binary_expression "pcStack_d8 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc);" (call_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8,pcStack_cc)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))" ( (pointer_expression "*(code *)(PTR_LAB_00190c58 + -0x7cdc)" * (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(pParse,pEStack_b8,pcStack_cc)" ( identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,pcStack_cc,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0xf,pcStack_cc,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) (if_statement "if (pcStack_a8 == (code *)0x0) {\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }" if (parenthesized_expression "(pcStack_a8 == (code *)0x0)" ( (binary_expression "pcStack_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }" { (if_statement "if (psStack_c0 != (sqlite3 *)0x0) {\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }" if (parenthesized_expression "(psStack_c0 != (sqlite3 *)0x0)" ( (binary_expression "psStack_c0 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;\n            uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);\n            goto LAB_0010df80;\n          }" { (labeled_statement "LAB_0010e4cc:\n            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;" statement_identifier : (if_statement "if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;" if (parenthesized_expression "((pParse->db->flags & 0x4000) == 0)" ( (binary_expression "(pParse->db->flags & 0x4000) == 0" (parenthesized_expression "(pParse->db->flags & 0x4000)" ( (binary_expression "pParse->db->flags & 0x4000" (field_expression "pParse->db->flags" (field_expression "pParse->db" identifier -> field_identifier) -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0010df7c;" goto statement_identifier ;))) (expression_statement "uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1);" (assignment_expression "uVar28 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(pParse,unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x6eb0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x6eb0)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x6eb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x6eb0)" ( (binary_expression "PTR_LAB_00190bc4 + -0x6eb0" identifier + number_literal) )))) )) (argument_list "(pParse,unaff_s1)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_0010df80;" goto statement_identifier ;) })) (if_statement "if (pTStack_d0 != (Trigger *)0x0) {\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }" if (parenthesized_expression "(pTStack_d0 != (Trigger *)0x0)" ( (binary_expression "pTStack_d0 != (Trigger *)0x0" identifier != (cast_expression "(Trigger *)0x0" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0010df7c:\n            uVar28 = 0;\n            goto LAB_0010df80;\n          }" { (labeled_statement "LAB_0010df7c:\n            uVar28 = 0;" statement_identifier : (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0010df80;" goto statement_identifier ;) })) (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x3b58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x3b58)" ( (binary_expression "PTR_LAB_00190bc8 + -0x3b58" identifier + number_literal) )))) ;) }) (else_clause "else {\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }" else (compound_statement "{\n          uVar28 = 0;\n          if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);\n          if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }\n          if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }\n        }" { (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (if_statement "if (psStack_c0 != (sqlite3 *)0x0) goto LAB_0010e4cc;" if (parenthesized_expression "(psStack_c0 != (sqlite3 *)0x0)" ( (binary_expression "psStack_c0 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010e4cc;" goto statement_identifier ;)) (labeled_statement "LAB_0010df80:\n          pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" statement_identifier : (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x3b58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x3b58)" ( (binary_expression "PTR_LAB_00190bc8 + -0x3b58" identifier + number_literal) )))) ;)) (expression_statement "uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError);" (assignment_expression "uVar10 = sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError)" identifier = (call_expression "sqlite3TriggerColmask(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError)" identifier (argument_list "(pParse,pTStack_d0,pChanges,0,3,unaff_s1,onError)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (0 < unaff_s1->nCol) {\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }" if (parenthesized_expression "(0 < unaff_s1->nCol)" ( (binary_expression "0 < unaff_s1->nCol" number_literal < (field_expression "unaff_s1->nCol" identifier -> field_identifier)) )) (compound_statement "{\n            uVar30 = 0;\n            pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);\n          }" { (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcStack_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            } while ((int)uVar30 < (int)unaff_s1->nCol);" do (compound_statement "{\n              if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }\n              uVar30 = uVar30 + 1;\n              pPStack_90 = pParse;\n            }" { (if_statement "if (((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))) {\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }\n              else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }" if (parenthesized_expression "(((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0))))" ( (binary_expression "((uVar28 | uVar10) == 0xffffffff) ||\n                 ((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))" (parenthesized_expression "((uVar28 | uVar10) == 0xffffffff)" ( (binary_expression "(uVar28 | uVar10) == 0xffffffff" (parenthesized_expression "(uVar28 | uVar10)" ( (binary_expression "uVar28 | uVar10" identifier | identifier) )) == number_literal) )) || (parenthesized_expression "((((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)))" ( (parenthesized_expression "(((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0))" ( (binary_expression "((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)) ||\n                  ((unaff_s1->aCol[uVar30].colFlags & 1) != 0)" (parenthesized_expression "((int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0))" ( (binary_expression "(int)uVar30 < 0x20 && ((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)" (binary_expression "(int)uVar30 < 0x20" (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "((1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0)" ( (binary_expression "(1 << (uVar30 & 0x1f) & (uVar28 | uVar10)) != 0" (parenthesized_expression "(1 << (uVar30 & 0x1f) & (uVar28 | uVar10))" ( (binary_expression "1 << (uVar30 & 0x1f) & (uVar28 | uVar10)" (binary_expression "1 << (uVar30 & 0x1f)" number_literal << (parenthesized_expression "(uVar30 & 0x1f)" ( (binary_expression "uVar30 & 0x1f" identifier & number_literal) ))) & (parenthesized_expression "(uVar28 | uVar10)" ( (binary_expression "uVar28 | uVar10" identifier | identifier) ))) )) != number_literal) ))) )) || (parenthesized_expression "((unaff_s1->aCol[uVar30].colFlags & 1) != 0)" ( (binary_expression "(unaff_s1->aCol[uVar30].colFlags & 1) != 0" (parenthesized_expression "(unaff_s1->aCol[uVar30].colFlags & 1)" ( (binary_expression "unaff_s1->aCol[uVar30].colFlags & 1" (field_expression "unaff_s1->aCol[uVar30].colFlags" (subscript_expression "unaff_s1->aCol[uVar30]" (field_expression "unaff_s1->aCol" identifier -> field_identifier) [ identifier ]) . field_identifier) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n                (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);\n              }" { (expression_statement "(*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30);" (call_expression "(*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30)" (parenthesized_expression "(*pcStack_a8)" ( (pointer_expression "*pcStack_a8" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,uVar30,iStack_94 + uVar30)" ( identifier , identifier , identifier , identifier , (binary_expression "iStack_94 + uVar30" identifier + identifier) ))) ;) }) (else_clause "else {\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }" else (compound_statement "{\n                (*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);\n              }" { (expression_statement "(*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0);" (call_expression "(*pcStack_98)(unaff_s7,0x49,0,iStack_94 + uVar30,0)" (parenthesized_expression "(*pcStack_98)" ( (pointer_expression "*pcStack_98" * identifier) )) (argument_list "(unaff_s7,0x49,0,iStack_94 + uVar30,0)" ( identifier , number_literal , number_literal , (binary_expression "iStack_94 + uVar30" identifier + identifier) , number_literal ))) ;) }))) (expression_statement "uVar30 = uVar30 + 1;" (assignment_expression "uVar30 = uVar30 + 1" identifier = (binary_expression "uVar30 + 1" identifier + number_literal)) ;) (expression_statement "pPStack_90 = pParse;" (assignment_expression "pPStack_90 = pParse" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar30 < (int)unaff_s1->nCol)" ( (binary_expression "(int)uVar30 < (int)unaff_s1->nCol" (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s1->nCol" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1->nCol" identifier -> field_identifier))) )) ;) })) (if_statement "if ((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }" if (parenthesized_expression "((pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0))" ( (binary_expression "(pcStack_d8 == (code *)0x0) && (unaff_s5 == (Table *)0x0)" (parenthesized_expression "(pcStack_d8 == (code *)0x0)" ( (binary_expression "pcStack_d8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(unaff_s5 == (Table *)0x0)" ( (binary_expression "unaff_s5 == (Table *)0x0" identifier == (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x4e,pcStack_e4,pcStack_cc,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) })) }))) (expression_statement "pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError);" (assignment_expression "pEStack_b8 = (Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError)" identifier = (cast_expression "(Expr *)(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError)" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_f0)(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(pParse,pTStack_d0,pChanges,1,1,unaff_s1,onError)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier ))))) ;) (expression_statement "puVar4 = PTR_LAB_00190c58;" (assignment_expression "puVar4 = PTR_LAB_00190c58" identifier = identifier) ;) (if_statement "if (0 < unaff_s1->nCol) {\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }" if (parenthesized_expression "(0 < unaff_s1->nCol)" ( (binary_expression "0 < unaff_s1->nCol" number_literal < (field_expression "unaff_s1->nCol" identifier -> field_identifier)) )) (compound_statement "{\n          uVar28 = 0;\n          pcStack_f0 = pcStack_ec;\n          pcStack_98 = (code *)PTR_LAB_00190c58;\n          pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);\n        }" { (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "pcStack_f0 = pcStack_ec;" (assignment_expression "pcStack_f0 = pcStack_ec" identifier = identifier) ;) (expression_statement "pcStack_98 = (code *)PTR_LAB_00190c58;" (assignment_expression "pcStack_98 = (code *)PTR_LAB_00190c58" identifier = (cast_expression "(code *)PTR_LAB_00190c58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcStack_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar27 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          } while ((int)uVar28 < (int)unaff_s1->nCol);" do (compound_statement "{\n            pcVar13 = pcStack_8c + uVar28;\n            if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }\n            uVar28 = uVar28 + 1;\n            pcStack_f0 = pcStack_f0 + 4;\n          }" { (expression_statement "pcVar13 = pcStack_8c + uVar28;" (assignment_expression "pcVar13 = pcStack_8c + uVar28" identifier = (binary_expression "pcStack_8c + uVar28" identifier + identifier)) ;) (if_statement "if ((int)unaff_s1->iPKey == uVar28) {\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }\n            else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }" if (parenthesized_expression "((int)unaff_s1->iPKey == uVar28)" ( (binary_expression "(int)unaff_s1->iPKey == uVar28" (cast_expression "(int)unaff_s1->iPKey" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1->iPKey" identifier -> field_identifier)) == identifier) )) (compound_statement "{\nLAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);\n            }" { (labeled_statement "LAB_0010e30c:\n              (*pcVar27)(unaff_s7,0x49,0,pcVar13,0);" statement_identifier : (expression_statement "(*pcVar27)(unaff_s7,0x49,0,pcVar13,0);" (call_expression "(*pcVar27)(unaff_s7,0x49,0,pcVar13,0)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(unaff_s7,0x49,0,pcVar13,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;)) }) (else_clause "else if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }" else (if_statement "if (*(int *)pcStack_f0 < 0) {\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }\n            else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }" if (parenthesized_expression "(*(int *)pcStack_f0 < 0)" ( (binary_expression "*(int *)pcStack_f0 < 0" (pointer_expression "*(int *)pcStack_f0" * (cast_expression "(int *)pcStack_f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\n              if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);\n            }" { (if_statement "if ((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)) goto LAB_0010e30c;" if (parenthesized_expression "((((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0))" ( (binary_expression "(((tmask & 1U) != 0) && ((int)uVar28 < 0x20)) &&\n                 (((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)" (parenthesized_expression "(((tmask & 1U) != 0) && ((int)uVar28 < 0x20))" ( (binary_expression "((tmask & 1U) != 0) && ((int)uVar28 < 0x20)" (parenthesized_expression "((tmask & 1U) != 0)" ( (binary_expression "(tmask & 1U) != 0" (parenthesized_expression "(tmask & 1U)" ( (binary_expression "tmask & 1U" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((int)uVar28 < 0x20)" ( (binary_expression "(int)uVar28 < 0x20" (cast_expression "(int)uVar28" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) && (parenthesized_expression "(((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0)" ( (binary_expression "((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1) == 0" (parenthesized_expression "((uint)pEStack_b8 >> (uVar28 & 0x1f) & 1)" ( (binary_expression "(uint)pEStack_b8 >> (uVar28 & 0x1f) & 1" (binary_expression "(uint)pEStack_b8 >> (uVar28 & 0x1f)" (cast_expression "(uint)pEStack_b8" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar28 & 0x1f)" ( (binary_expression "uVar28 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0010e30c;" goto statement_identifier ;)) (expression_statement "(*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13);" (call_expression "(*pcStack_a8)(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13)" (parenthesized_expression "(*pcStack_a8)" ( (pointer_expression "*pcStack_a8" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,uVar28,pcVar13)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }" else (compound_statement "{\n              (*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);\n            }" { (expression_statement "(*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13);" (call_expression "(*(code *)(puVar4 + -0x7cdc))(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13)" (parenthesized_expression "(*(code *)(puVar4 + -0x7cdc))" ( (pointer_expression "*(code *)(puVar4 + -0x7cdc)" * (cast_expression "(code *)(puVar4 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -0x7cdc)" ( (binary_expression "puVar4 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(pParse,pChanges->a[*(int *)pcStack_f0].pExpr,pcVar13)" ( identifier , (field_expression "pChanges->a[*(int *)pcStack_f0].pExpr" (subscript_expression "pChanges->a[*(int *)pcStack_f0]" (field_expression "pChanges->a" identifier -> field_identifier) [ (pointer_expression "*(int *)pcStack_f0" * (cast_expression "(int *)pcStack_f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ]) . field_identifier) , identifier ))) ;) }))))) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) (expression_statement "pcStack_f0 = pcStack_f0 + 4;" (assignment_expression "pcStack_f0 = pcStack_f0 + 4" identifier = (binary_expression "pcStack_f0 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar28 < (int)unaff_s1->nCol)" ( (binary_expression "(int)uVar28 < (int)unaff_s1->nCol" (cast_expression "(int)uVar28" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s1->nCol" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1->nCol" identifier -> field_identifier))) )) ;) })) (if_statement "if ((tmask & 1U) == 0) {\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }" if (parenthesized_expression "((tmask & 1U) == 0)" ( (binary_expression "(tmask & 1U) == 0" (parenthesized_expression "(tmask & 1U)" ( (binary_expression "tmask & 1U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }" { (expression_statement "pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);" (assignment_expression "pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x2cec)" ( (binary_expression "PTR_LAB_00190bc8 + -0x2cec" identifier + number_literal) )))) ;) }) (else_clause "else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }" else (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);\n          pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }\n          iVar7 = (int)unaff_s1->nCol;\n          if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,pcStack_8c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x15f0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x15f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x15f0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x15f0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,unaff_s1,pcStack_8c)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);" (assignment_expression "pcStack_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x2cec)" ( (binary_expression "PTR_LAB_00190bc8 + -0x2cec" identifier + number_literal) )))) ;) (expression_statement "sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4);" (call_expression "sqlite3CodeRowTrigger\n                    (pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4)" identifier (argument_list "(pParse,pTStack_d0,0x76,pChanges,1,unaff_s1,(int)pcStack_e4,onError,\n                     (int)pWStack_d4)" ( identifier , identifier , number_literal , identifier , number_literal , identifier , (cast_expression "(int)pcStack_e4" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)pWStack_d4" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (if_statement "if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }" if (parenthesized_expression "(unaff_s5 == (Table *)0x0)" ( (binary_expression "unaff_s5 == (Table *)0x0" identifier == (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1f,unaff_s8,pWStack_d4,pcStack_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,pWStack_d4,pcStack_dc,iStack_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) }))) (expression_statement "iVar7 = (int)unaff_s1->nCol;" (assignment_expression "iVar7 = (int)unaff_s1->nCol" identifier = (cast_expression "(int)unaff_s1->nCol" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1->nCol" identifier -> field_identifier))) ;) (if_statement "if (0 < iVar7) {\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }" if (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) (compound_statement "{\n            pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar9 = 0;\n            pcVar27 = pcStack_ec;\n            do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);\n          }" { (expression_statement "pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pEVar37 = (Expr *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(Expr *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "pcVar27 = pcStack_ec;" (assignment_expression "pcVar27 = pcStack_ec" identifier = identifier) ;) (do_statement "do {\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            } while (iVar9 < iVar7);" do (compound_statement "{\n              if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }\n              iVar9 = iVar9 + 1;\n              pcVar27 = pcVar27 + 4;\n            }" { (if_statement "if ((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)) {\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }" if (parenthesized_expression "((*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9))" ( (binary_expression "(*(int *)pcVar27 < 0) && (unaff_s1->iPKey != iVar9)" (parenthesized_expression "(*(int *)pcVar27 < 0)" ( (binary_expression "*(int *)pcVar27 < 0" (pointer_expression "*(int *)pcVar27" * (cast_expression "(int *)pcVar27" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) && (parenthesized_expression "(unaff_s1->iPKey != iVar9)" ( (binary_expression "unaff_s1->iPKey != iVar9" (field_expression "unaff_s1->iPKey" identifier -> field_identifier) != identifier) ))) )) (compound_statement "{\n                (*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);\n                iVar7 = (int)unaff_s1->nCol;\n                pEStack_b8 = pEVar37;\n                pcStack_a8 = pcVar27;\n              }" { (expression_statement "(*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9);" (call_expression "(*(code *)pEVar37)(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9)" (parenthesized_expression "(*(code *)pEVar37)" ( (pointer_expression "*(code *)pEVar37" * (cast_expression "(code *)pEVar37" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,iVar9,pcStack_8c + iVar9)" ( identifier , identifier , identifier , identifier , (binary_expression "pcStack_8c + iVar9" identifier + identifier) ))) ;) (expression_statement "iVar7 = (int)unaff_s1->nCol;" (assignment_expression "iVar7 = (int)unaff_s1->nCol" identifier = (cast_expression "(int)unaff_s1->nCol" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s1->nCol" identifier -> field_identifier))) ;) (expression_statement "pEStack_b8 = pEVar37;" (assignment_expression "pEStack_b8 = pEVar37" identifier = identifier) ;) (expression_statement "pcStack_a8 = pcVar27;" (assignment_expression "pcStack_a8 = pcVar27" identifier = identifier) ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "pcVar27 = pcVar27 + 4;" (assignment_expression "pcVar27 = pcVar27 + 4" identifier = (binary_expression "pcVar27 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 < iVar7)" ( (binary_expression "iVar9 < iVar7" identifier < identifier) )) ;) })) }))) (if_statement "if (pSStack_bc == (Select *)0x0) {\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }" if (parenthesized_expression "(pSStack_bc == (Select *)0x0)" ( (binary_expression "pSStack_bc == (Select *)0x0" identifier == (cast_expression "(Select *)0x0" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);\n          if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }\n          puVar4 = PTR_LAB_00190bc0;\n          if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }\n          (*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);\n          if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }\n          if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }\n          if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }\n        }" { (expression_statement "sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0);" (call_expression "sqlite3GenerateConstraintChecks\n                    (pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0)" identifier (argument_list "(pParse,unaff_s1,(int *)pcStack_a4,(int)unaff_s8,(int)pWStack_c8,(int)pcStack_cc\n                     ,(int)pcStack_e4,(u8)pcStack_c4,(u8)onError,(int)pWStack_d4,&bReplace,\n                     (int *)pcStack_ec,(Upsert *)0x0)" ( identifier , identifier , (cast_expression "(int *)pcStack_a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pWStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pcStack_cc" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pcStack_e4" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(u8)pcStack_c4" ( (type_descriptor "u8" type_identifier) ) identifier) , (cast_expression "(u8)onError" ( (type_descriptor "u8" type_identifier) ) identifier) , (cast_expression "(int)pWStack_d4" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&bReplace" & identifier) , (cast_expression "(int *)pcStack_ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Upsert *)0x0" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (if_statement "if (psStack_c0 != (sqlite3 *)0x0) {\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }" if (parenthesized_expression "(psStack_c0 != (sqlite3 *)0x0)" ( (binary_expression "psStack_c0 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);\n          }" { (expression_statement "sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4);" (call_expression "sqlite3FkCheck(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4)" identifier (argument_list "(pParse,unaff_s1,(int)pcStack_e4,0,(int *)pcStack_ec,(int)pcStack_c4)" ( identifier , identifier , (cast_expression "(int)pcStack_e4" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , (cast_expression "(int *)pcStack_ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)pcStack_c4" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "puVar4 = PTR_LAB_00190bc0;" (assignment_expression "puVar4 = PTR_LAB_00190bc0" identifier = identifier) ;) (if_statement "if ((bReplace == 0) && (pcStack_c4 == (code *)0x0)) {\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }" if (parenthesized_expression "((bReplace == 0) && (pcStack_c4 == (code *)0x0))" ( (binary_expression "(bReplace == 0) && (pcStack_c4 == (code *)0x0)" (parenthesized_expression "(bReplace == 0)" ( (binary_expression "bReplace == 0" identifier == number_literal) )) && (parenthesized_expression "(pcStack_c4 == (code *)0x0)" ( (binary_expression "pcStack_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            puVar16 = (undefined1 *)0x0;\n            if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }" { (expression_statement "sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);" (call_expression "sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1)" identifier (argument_list "(pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1)" ( identifier , identifier , (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pWStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int *)pcStack_a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;) (expression_statement "puVar16 = (undefined1 *)0x0;" (assignment_expression "puVar16 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)psStack_c0 < 2) {\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" if (parenthesized_expression "((int)psStack_c0 < 2)" ( (binary_expression "(int)psStack_c0 < 2" (cast_expression "(int)psStack_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              uVar26 = 0x44;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" { (expression_statement "uVar26 = 0x44;" (assignment_expression "uVar26 = 0x44" identifier = number_literal) ;) (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) }) (else_clause "else {\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" else (compound_statement "{\n              uVar26 = 4;\n              pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" { (expression_statement "uVar26 = 4;" (assignment_expression "uVar26 = 4" identifier = number_literal) ;) (expression_statement "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) }))) }) (else_clause "else {\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }" else (compound_statement "{\n            if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }\n            pcStack_f0 = (code *)(puVar4 + 0x10fc);\n            sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);\n            uVar26 = 4;\n            if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }\n          }" { (if_statement "if (unaff_s5 == (Table *)0x0) {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }\n            else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }" if (parenthesized_expression "(unaff_s5 == (Table *)0x0)" ( (binary_expression "unaff_s5 == (Table *)0x0" identifier == (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);\n            }" { (expression_statement "puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4);" (assignment_expression "puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4)" identifier = (cast_expression "(undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,pcStack_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1f,unaff_s8,0,pcStack_e4)" ( identifier , number_literal , identifier , number_literal , identifier ))))) ;) }) (else_clause "else {\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }" else (compound_statement "{\n              puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);\n              if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }\n            }" { (expression_statement "puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc);" (assignment_expression "puVar16 = (undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc)" identifier = (cast_expression "(undefined1 *)\n                        (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,pcStack_dc)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,0,pcStack_dc)" ( identifier , number_literal , identifier , number_literal , identifier ))))) ;) (if_statement "if (unaff_s7->db->mallocFailed == '\0') {\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }" if (parenthesized_expression "(unaff_s7->db->mallocFailed == '\0')" ( (binary_expression "unaff_s7->db->mallocFailed == '\0'" (field_expression "unaff_s7->db->mallocFailed" (field_expression "unaff_s7->db" identifier -> field_identifier) -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                pOVar20 = (Op *)unaff_s7->nTableLock;\n                pOVar20[(int)puVar16].p4type = -3;\n                pOVar20[(int)puVar16].p4.i = iStack_b4;\n              }" { (expression_statement "pOVar20 = (Op *)unaff_s7->nTableLock;" (assignment_expression "pOVar20 = (Op *)unaff_s7->nTableLock" identifier = (cast_expression "(Op *)unaff_s7->nTableLock" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->nTableLock" identifier -> field_identifier))) ;) (expression_statement "pOVar20[(int)puVar16].p4type = -3;" (assignment_expression "pOVar20[(int)puVar16].p4type = -3" (field_expression "pOVar20[(int)puVar16].p4type" (subscript_expression "pOVar20[(int)puVar16]" identifier [ (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) = number_literal) ;) (expression_statement "pOVar20[(int)puVar16].p4.i = iStack_b4;" (assignment_expression "pOVar20[(int)puVar16].p4.i = iStack_b4" (field_expression "pOVar20[(int)puVar16].p4.i" (field_expression "pOVar20[(int)puVar16].p4" (subscript_expression "pOVar20[(int)puVar16]" identifier [ (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) . field_identifier) = identifier) ;) })) }))) (expression_statement "pcStack_f0 = (code *)(puVar4 + 0x10fc);" (assignment_expression "pcStack_f0 = (code *)(puVar4 + 0x10fc)" identifier = (cast_expression "(code *)(puVar4 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x10fc)" ( (binary_expression "puVar4 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1);" (call_expression "sqlite3GenerateRowIndexDelete\n                      (pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1)" identifier (argument_list "(pParse,unaff_s1,(int)unaff_s8,(int)pWStack_c8,(int *)pcStack_a4,-1)" ( identifier , identifier , (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)pWStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int *)pcStack_a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;) (expression_statement "uVar26 = 4;" (assignment_expression "uVar26 = 4" identifier = number_literal) ;) (if_statement "if (((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)) {\n              uVar26 = 0x44;\n            }" if (parenthesized_expression "(((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0))" ( (binary_expression "((int)psStack_c0 < 2) && (pcStack_c4 == (code *)0x0)" (parenthesized_expression "((int)psStack_c0 < 2)" ( (binary_expression "(int)psStack_c0 < 2" (cast_expression "(int)psStack_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(pcStack_c4 == (code *)0x0)" ( (binary_expression "pcStack_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              uVar26 = 0x44;\n            }" { (expression_statement "uVar26 = 0x44;" (assignment_expression "uVar26 = 0x44" identifier = number_literal) ;) })) }))) (expression_statement "(*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc);" (call_expression "(*pcStack_f0)(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc)" (parenthesized_expression "(*pcStack_f0)" ( (pointer_expression "*pcStack_f0" * identifier) )) (argument_list "(unaff_s7,0x7b,unaff_s8,uVar26,pcStack_cc)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (if_statement "if ((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }" if (parenthesized_expression "((uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock))" ( (binary_expression "(uVar2 == '\x02') && (0 < (int)unaff_s7->aTableLock)" (parenthesized_expression "(uVar2 == '\x02')" ( (binary_expression "uVar2 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "(0 < (int)unaff_s7->aTableLock)" ( (binary_expression "0 < (int)unaff_s7->aTableLock" number_literal < (cast_expression "(int)unaff_s7->aTableLock" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->aTableLock" identifier -> field_identifier))) ))) )) (compound_statement "{\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;\n          }" { (expression_statement "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2\n            ;" (assignment_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 = 2" (field_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5" (subscript_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)]" (parenthesized_expression "((Op *)unaff_s7->nTableLock)" ( (cast_expression "(Op *)unaff_s7->nTableLock" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->nTableLock" identifier -> field_identifier)) )) [ (cast_expression "(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (binary_expression "(int)&unaff_s7->aTableLock[-1].zLockName + 3" (cast_expression "(int)&unaff_s7->aTableLock[-1].zLockName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->aTableLock[-1].zLockName" & (field_expression "unaff_s7->aTableLock[-1].zLockName" (subscript_expression "unaff_s7->aTableLock[-1]" (field_expression "unaff_s7->aTableLock" identifier -> field_identifier) [ number_literal ]) . field_identifier))) + number_literal) ))) ]) . field_identifier) = number_literal) ;) })) (if_statement "if (pParse->nested == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }" if (parenthesized_expression "(pParse->nested == '\0')" ( (binary_expression "pParse->nested == '\0'" (field_expression "pParse->nested" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x24d4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x24d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x24d4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x24d4" identifier + number_literal) )))) )) (argument_list "(unaff_s7,unaff_s1,0xfffffffa)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if ((bReplace != 0) || (pcStack_c4 != (code *)0x0)) {\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }" if (parenthesized_expression "((bReplace != 0) || (pcStack_c4 != (code *)0x0))" ( (binary_expression "(bReplace != 0) || (pcStack_c4 != (code *)0x0)" (parenthesized_expression "(bReplace != 0)" ( (binary_expression "bReplace != 0" identifier != number_literal) )) || (parenthesized_expression "(pcStack_c4 != (code *)0x0)" ( (binary_expression "pcStack_c4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n          }" { (if_statement "if ((int)puVar16 < 0) {\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }" if (parenthesized_expression "((int)puVar16 < 0)" ( (binary_expression "(int)puVar16 < 0" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }" { (expression_statement "puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);" (assignment_expression "puVar16 = (undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3)" identifier = (cast_expression "(undefined1 *)((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (binary_expression "(int)&unaff_s7->aTableLock[-1].zLockName + 3" (cast_expression "(int)&unaff_s7->aTableLock[-1].zLockName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->aTableLock[-1].zLockName" & (field_expression "unaff_s7->aTableLock[-1].zLockName" (subscript_expression "unaff_s7->aTableLock[-1]" (field_expression "unaff_s7->aTableLock" identifier -> field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) ;) })) (if_statement "if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }" if (parenthesized_expression "(unaff_s7->db->mallocFailed == '\0')" ( (binary_expression "unaff_s7->db->mallocFailed == '\0'" (field_expression "unaff_s7->db->mallocFailed" (field_expression "unaff_s7->db" identifier -> field_identifier) -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;\n            }" { (expression_statement "pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16;" (assignment_expression "pOVar20 = (Op *)unaff_s7->nTableLock + (int)puVar16" identifier = (binary_expression "(Op *)unaff_s7->nTableLock + (int)puVar16" (cast_expression "(Op *)unaff_s7->nTableLock" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->nTableLock" identifier -> field_identifier)) + (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }" else (compound_statement "{\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }" { (expression_statement "pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);" (assignment_expression "pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc)" identifier = (cast_expression "(Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc)" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc)" ( (binary_expression "PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc" identifier + number_literal) )))) ;) }))) (expression_statement "pOVar20->p2 = (int)unaff_s7->aTableLock;" (assignment_expression "pOVar20->p2 = (int)unaff_s7->aTableLock" (field_expression "pOVar20->p2" identifier -> field_identifier) = (cast_expression "(int)unaff_s7->aTableLock" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->aTableLock" identifier -> field_identifier))) ;) })) (if_statement "if (psStack_c0 == (sqlite3 *)0x0) {\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }\n          else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }" if (parenthesized_expression "(psStack_c0 == (sqlite3 *)0x0)" ( (binary_expression "psStack_c0 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n          }" { (if_statement "if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }" if (parenthesized_expression "(uVar2 == '\x02')" ( (binary_expression "uVar2 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n              uVar26 = 6;\n            }" { (expression_statement "uVar26 = 6;" (assignment_expression "uVar26 = 6" identifier = number_literal) ;) }) (else_clause "else {\n              uVar26 = 4;\n            }" else (compound_statement "{\n              uVar26 = 4;\n            }" { (expression_statement "uVar26 = 4;" (assignment_expression "uVar26 = 4" identifier = number_literal) ;) }))) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x2940)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x2940)" ( (binary_expression "PTR_LAB_00190bc0 + 0x2940" identifier + number_literal) )))) )) (argument_list "(pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }" else (compound_statement "{\n            sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);\n            if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);\n            if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }\n          }" { (expression_statement "sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4);" (call_expression "sqlite3FkCheck(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4)" identifier (argument_list "(pParse,unaff_s1,0,(int)pcStack_cc,(int *)pcStack_ec,(int)pcStack_c4)" ( identifier , identifier , number_literal , (cast_expression "(int)pcStack_cc" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int *)pcStack_ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)pcStack_c4" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (if_statement "if (uVar2 == '\x02') {\n              uVar26 = 6;\n            }\n            else {\n              uVar26 = 4;\n            }" if (parenthesized_expression "(uVar2 == '\x02')" ( (binary_expression "uVar2 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n              uVar26 = 6;\n            }" { (expression_statement "uVar26 = 6;" (assignment_expression "uVar26 = 6" identifier = number_literal) ;) }) (else_clause "else {\n              uVar26 = 4;\n            }" else (compound_statement "{\n              uVar26 = 4;\n            }" { (expression_statement "uVar26 = 4;" (assignment_expression "uVar26 = 4" identifier = number_literal) ;) }))) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x2940)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x2940)" ( (binary_expression "PTR_LAB_00190bc0 + 0x2940" identifier + number_literal) )))) )) (argument_list "(pParse,unaff_s1,unaff_s8,pWStack_c8,pcStack_cc,pcStack_a4,uVar26,0,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) (if_statement "if ((pParse->db->flags & 0x4000) != 0) {\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }" if (parenthesized_expression "((pParse->db->flags & 0x4000) != 0)" ( (binary_expression "(pParse->db->flags & 0x4000) != 0" (parenthesized_expression "(pParse->db->flags & 0x4000)" ( (binary_expression "pParse->db->flags & 0x4000" (field_expression "pParse->db->flags" (field_expression "pParse->db" identifier -> field_identifier) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n              sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);\n            }" { (expression_statement "sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4);" (call_expression "sqlite3FkActions(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4)" identifier (argument_list "(pParse,unaff_s1,pChanges,(int)pcStack_e4,(int *)pcStack_ec,\n                               (int)pcStack_c4)" ( identifier , identifier , identifier , (cast_expression "(int)pcStack_e4" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int *)pcStack_ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)pcStack_c4" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) }))) })) (if_statement "if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }" if (parenthesized_expression "(iStack_9c != 0)" ( (binary_expression "iStack_9c != 0" identifier != number_literal) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,iStack_9c,1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x53,iStack_9c,1,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) })) (expression_statement "(*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4);" (call_expression "(*pcStack_d8)(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4)" (parenthesized_expression "(*pcStack_d8)" ( (pointer_expression "*pcStack_d8" * identifier) )) (argument_list "(pParse,pTStack_d0,0x76,pChanges,2,unaff_s1,pcStack_e4,onError,pWStack_d4)" ( identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (uVar2 == '\x01') {\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }" if (parenthesized_expression "(uVar2 == '\x01')" ( (binary_expression "uVar2 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n        }" { (labeled_statement "LAB_0010e4b8:\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);" statement_identifier : (expression_statement "pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(Table *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;)) }) (else_clause "else if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }" else (if_statement "if (uVar2 == '\x02') {\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }\n        else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }" if (parenthesized_expression "(uVar2 == '\x02')" ( (binary_expression "uVar2 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);\n        }" { (expression_statement "pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(Table *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;) (expression_statement "(*(code *)pTVar31)(unaff_s7,pWStack_d4);" (call_expression "(*(code *)pTVar31)(unaff_s7,pWStack_d4)" (parenthesized_expression "(*(code *)pTVar31)" ( (pointer_expression "*(code *)pTVar31" * (cast_expression "(code *)pTVar31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,pWStack_d4)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(pWStack_88)" ( identifier ))) ;) }) (else_clause "else {\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }" else (compound_statement "{\n          if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);\n          (*(code *)pTVar31)(unaff_s7,pWStack_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);\n        }" { (if_statement "if (unaff_s5 == (Table *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }" if (parenthesized_expression "(unaff_s5 == (Table *)0x0)" ( (binary_expression "unaff_s5 == (Table *)0x0" identifier == (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);\n            goto LAB_0010e4b8;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,pWStack_d4,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0xb,0,pWStack_d4,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (goto_statement "goto LAB_0010e4b8;" goto statement_identifier ;) })) (expression_statement "pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pTVar31 = (Table *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(Table *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;) (expression_statement "(*(code *)pTVar31)(unaff_s7,pWStack_d4);" (call_expression "(*(code *)pTVar31)(unaff_s7,pWStack_d4)" (parenthesized_expression "(*(code *)pTVar31)" ( (pointer_expression "*(code *)pTVar31" * (cast_expression "(code *)pTVar31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,pWStack_d4)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,iStack_a0,iStack_ac,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,5,iStack_a0,iStack_ac,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) }))))) (expression_statement "(*(code *)pTVar31)(unaff_s7,pWVar8);" (call_expression "(*(code *)pTVar31)(unaff_s7,pWVar8)" (parenthesized_expression "(*(code *)pTVar31)" ( (pointer_expression "*(code *)pTVar31" * (cast_expression "(code *)pTVar31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,pWVar8)" ( identifier , identifier ))) ;) (if_statement "if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }" if (parenthesized_expression "((((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0))" ( (binary_expression "(((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)) && (pParse->pAinc != (AutoincInfo *)0x0)" (parenthesized_expression "(((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0))" ( (binary_expression "((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)) &&\n            (pUStack_e8 == (Upsert *)0x0)" (parenthesized_expression "((pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0))" ( (binary_expression "(pParse->nested == '\0') && (pParse->pTriggerTab == (Table *)0x0)" (parenthesized_expression "(pParse->nested == '\0')" ( (binary_expression "pParse->nested == '\0'" (field_expression "pParse->nested" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pParse->pTriggerTab == (Table *)0x0)" ( (binary_expression "pParse->pTriggerTab == (Table *)0x0" (field_expression "pParse->pTriggerTab" identifier -> field_identifier) == (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(pUStack_e8 == (Upsert *)0x0)" ( (binary_expression "pUStack_e8 == (Upsert *)0x0" identifier == (cast_expression "(Upsert *)0x0" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(pParse->pAinc != (AutoincInfo *)0x0)" ( (binary_expression "pParse->pAinc != (AutoincInfo *)0x0" (field_expression "pParse->pAinc" identifier -> field_identifier) != (cast_expression "(AutoincInfo *)0x0" ( (type_descriptor "AutoincInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(pParse)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x4d0c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4d0c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4d0c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4d0c" identifier + number_literal) )))) )) (argument_list "(pParse)" ( identifier ))) ;) })) (expression_statement "pWVar38 = (WhereInfo *)&SUB_00000002;" (assignment_expression "pWVar38 = (WhereInfo *)&SUB_00000002" identifier = (cast_expression "(WhereInfo *)&SUB_00000002" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (if_statement "if (iStack_9c != 0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }" if (parenthesized_expression "(iStack_9c != 0)" ( (binary_expression "iStack_9c != 0" identifier != number_literal) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,iStack_9c,1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x51,iStack_9c,1,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7898))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7898)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7898)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7898)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7898" identifier + number_literal) )))) )) (argument_list "(unaff_s7,1)" ( identifier , number_literal ))) ;) (if_statement "if (unaff_s7->db->mallocFailed == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }" if (parenthesized_expression "(unaff_s7->db->mallocFailed == '\0')" ( (binary_expression "unaff_s7->db->mallocFailed == '\0'" (field_expression "unaff_s7->db->mallocFailed" (field_expression "unaff_s7->db" identifier -> field_identifier) -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + -0x2a8)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + -0x2a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + -0x2a8)" ( (binary_expression "PTR_LAB_00190bc0 + -0x2a8" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0)" ( identifier , number_literal , number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20" identifier + number_literal) , number_literal ))) ;) })) })) }) (else_clause "else {\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }" else (compound_statement "{\n        unaff_s7 = (Parse *)pParse->pVdbe;\n        for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }\n        pUStack_e8 = (Upsert *)pParse->nTab;\n        pcVar13 = (code *)(unaff_s1->nCol + 2);\n        pcStack_e4 = (code *)pTabList->a[0].iCursor;\n        pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);\n        pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);\n        pWVar38 = (WhereInfo *)pParse->nMem;\n        pcVar27 = pcVar13 + (int)pWVar38;\n        pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);\n        pTStack_d0 = (Trigger *)(pcVar27 + 2);\n        pParse->nMem = (int)pTStack_d0;\n        pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);\n        pWStack_c8 = (WhereInfo *)0x0;\n        if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }\n      }" { (expression_statement "unaff_s7 = (Parse *)pParse->pVdbe;" (assignment_expression "unaff_s7 = (Parse *)pParse->pVdbe" identifier = (cast_expression "(Parse *)pParse->pVdbe" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse->pVdbe" identifier -> field_identifier))) ;) (for_statement "for (pTVar35 = (Table *)unaff_s1->pVTable;\n            (pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName));\n            pTVar35 = (Table *)pTVar35->pCheck) {\n        }" for ( (assignment_expression "pTVar35 = (Table *)unaff_s1->pVTable" identifier = (cast_expression "(Table *)unaff_s1->pVTable" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s1->pVTable" identifier -> field_identifier))) ; (parenthesized_expression "(pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName))" ( (binary_expression "pTVar35 != (Table *)0x0 && (pParse->db != (sqlite3 *)pTVar35->zName)" (binary_expression "pTVar35 != (Table *)0x0" identifier != (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(pParse->db != (sqlite3 *)pTVar35->zName)" ( (binary_expression "pParse->db != (sqlite3 *)pTVar35->zName" (field_expression "pParse->db" identifier -> field_identifier) != (cast_expression "(sqlite3 *)pTVar35->zName" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTVar35->zName" identifier -> field_identifier))) ))) )) ; (assignment_expression "pTVar35 = (Table *)pTVar35->pCheck" identifier = (cast_expression "(Table *)pTVar35->pCheck" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTVar35->pCheck" identifier -> field_identifier))) ) (compound_statement "{\n        }" { })) (expression_statement "pUStack_e8 = (Upsert *)pParse->nTab;" (assignment_expression "pUStack_e8 = (Upsert *)pParse->nTab" identifier = (cast_expression "(Upsert *)pParse->nTab" ( (type_descriptor "Upsert *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse->nTab" identifier -> field_identifier))) ;) (expression_statement "pcVar13 = (code *)(unaff_s1->nCol + 2);" (assignment_expression "pcVar13 = (code *)(unaff_s1->nCol + 2)" identifier = (cast_expression "(code *)(unaff_s1->nCol + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1->nCol + 2)" ( (binary_expression "unaff_s1->nCol + 2" (field_expression "unaff_s1->nCol" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "pcStack_e4 = (code *)pTabList->a[0].iCursor;" (assignment_expression "pcStack_e4 = (code *)pTabList->a[0].iCursor" identifier = (cast_expression "(code *)pTabList->a[0].iCursor" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTabList->a[0].iCursor" (subscript_expression "pTabList->a[0]" (field_expression "pTabList->a" identifier -> field_identifier) [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar36 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1);" (assignment_expression "pParse->nTab = (int)((int)&pUStack_e8->pUpsertTarget + 1)" (field_expression "pParse->nTab" identifier -> field_identifier) = (cast_expression "(int)((int)&pUStack_e8->pUpsertTarget + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pUStack_e8->pUpsertTarget + 1)" ( (binary_expression "(int)&pUStack_e8->pUpsertTarget + 1" (cast_expression "(int)&pUStack_e8->pUpsertTarget" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pUStack_e8->pUpsertTarget" & (field_expression "pUStack_e8->pUpsertTarget" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0);" (assignment_expression "pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0)" identifier = (cast_expression "(Parse *)(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0)" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar36)(unaff_s7,0x71,pUStack_e8,pcVar13,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x71,pUStack_e8,pcVar13,0)" ( identifier , number_literal , identifier , identifier , number_literal ))))) ;) (expression_statement "pWVar38 = (WhereInfo *)pParse->nMem;" (assignment_expression "pWVar38 = (WhereInfo *)pParse->nMem" identifier = (cast_expression "(WhereInfo *)pParse->nMem" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse->nMem" identifier -> field_identifier))) ;) (expression_statement "pcVar27 = pcVar13 + (int)pWVar38;" (assignment_expression "pcVar27 = pcVar13 + (int)pWVar38" identifier = (binary_expression "pcVar13 + (int)pWVar38" identifier + (cast_expression "(int)pWVar38" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcStack_d8 = (code *)((int)&pWVar38->pParse + 1);" (assignment_expression "pcStack_d8 = (code *)((int)&pWVar38->pParse + 1)" identifier = (cast_expression "(code *)((int)&pWVar38->pParse + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar38->pParse + 1)" ( (binary_expression "(int)&pWVar38->pParse + 1" (cast_expression "(int)&pWVar38->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar38->pParse" & (field_expression "pWVar38->pParse" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pTStack_d0 = (Trigger *)(pcVar27 + 2);" (assignment_expression "pTStack_d0 = (Trigger *)(pcVar27 + 2)" identifier = (cast_expression "(Trigger *)(pcVar27 + 2)" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 2)" ( (binary_expression "pcVar27 + 2" identifier + number_literal) )))) ;) (expression_statement "pParse->nMem = (int)pTStack_d0;" (assignment_expression "pParse->nMem = (int)pTStack_d0" (field_expression "pParse->nMem" identifier -> field_identifier) = (cast_expression "(int)pTStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0);" (assignment_expression "pWStack_d4 = sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0)" identifier = (call_expression "sqlite3WhereBegin(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0)" identifier (argument_list "(pParse,pTabList,pWhere,(ExprList *)0x0,(ExprList *)0x0,4,0)" ( identifier , identifier , identifier , (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , number_literal )))) ;) (expression_statement "pWStack_c8 = (WhereInfo *)0x0;" (assignment_expression "pWStack_c8 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pWStack_d4 != (WhereInfo *)0x0) {\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }" if (parenthesized_expression "(pWStack_d4 != (WhereInfo *)0x0)" ( (binary_expression "pWStack_d4 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }\n          if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }\n          aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];\n          aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];\n          pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;\n          if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }\n          pPVar15 = pPStack_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);\n          uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);\n          if (onError == 0xb) {\n            onError = 2;\n          }\n          if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }\n          if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }\n          pParse->mayAbort = '\x01';\n          if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }\n        }" { (if_statement "if (0 < unaff_s1->nCol) {\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }" if (parenthesized_expression "(0 < unaff_s1->nCol)" ( (binary_expression "0 < unaff_s1->nCol" number_literal < (field_expression "unaff_s1->nCol" identifier -> field_identifier)) )) (compound_statement "{\n            pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);\n            pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar7 = 0;\n            pcVar34 = pcStack_ec;\n            do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);\n          }" { (expression_statement "pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3);" (assignment_expression "pWStack_c8 = (WhereInfo *)((int)&pWVar38->pParse + 3)" identifier = (cast_expression "(WhereInfo *)((int)&pWVar38->pParse + 3)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar38->pParse + 3)" ( (binary_expression "(int)&pWVar38->pParse + 3" (cast_expression "(int)&pWVar38->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar38->pParse" & (field_expression "pWVar38->pParse" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);" (assignment_expression "pcStack_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc)" identifier = (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pcVar34 = pcStack_ec;" (assignment_expression "pcVar34 = pcStack_ec" identifier = identifier) ;) (do_statement "do {\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            } while (iVar7 < unaff_s1->nCol);" do (compound_statement "{\n              if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }\n              iVar7 = iVar7 + 1;\n              pcVar34 = pcVar34 + 4;\n              psStack_c0 = psVar32;\n              pSStack_bc = (Select *)pWhere;\n            }" { (if_statement "if (*(int *)pcVar34 < 0) {\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }\n              else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }" if (parenthesized_expression "(*(int *)pcVar34 < 0)" ( (binary_expression "*(int *)pcVar34 < 0" (pointer_expression "*(int *)pcVar34" * (cast_expression "(int *)pcVar34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\n                (*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);\n                if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }\n              }" { (expression_statement "(*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18);" (call_expression "(*pcVar36)(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0xa4,pcStack_e4,iVar7,\n                           (int)pWStack_c8->aiCurOnePass + iVar7 + -0x18)" ( identifier , number_literal , identifier , identifier , (binary_expression "(int)pWStack_c8->aiCurOnePass + iVar7 + -0x18" (binary_expression "(int)pWStack_c8->aiCurOnePass + iVar7" (cast_expression "(int)pWStack_c8->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_c8->aiCurOnePass" identifier -> field_identifier)) + identifier) + number_literal) ))) ;) (if_statement "if (0 < (int)unaff_s7->aTableLock) {\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }" if (parenthesized_expression "(0 < (int)unaff_s7->aTableLock)" ( (binary_expression "0 < (int)unaff_s7->aTableLock" number_literal < (cast_expression "(int)unaff_s7->aTableLock" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->aTableLock" identifier -> field_identifier))) )) (compound_statement "{\n                  ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;\n                }" { (expression_statement "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1;" (assignment_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5 = 1" (field_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].\n                  p5" (subscript_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)]" (parenthesized_expression "((Op *)unaff_s7->nTableLock)" ( (cast_expression "(Op *)unaff_s7->nTableLock" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->nTableLock" identifier -> field_identifier)) )) [ (cast_expression "(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (binary_expression "(int)&unaff_s7->aTableLock[-1].zLockName + 3" (cast_expression "(int)&unaff_s7->aTableLock[-1].zLockName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->aTableLock[-1].zLockName" & (field_expression "unaff_s7->aTableLock[-1].zLockName" (subscript_expression "unaff_s7->aTableLock[-1]" (field_expression "unaff_s7->aTableLock" identifier -> field_identifier) [ number_literal ]) . field_identifier))) + number_literal) ))) ]) . field_identifier) = number_literal) ;) })) }) (else_clause "else {\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }" else (compound_statement "{\n                (*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);\n              }" { (expression_statement "(*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr);" (call_expression "(*pcStack_c4)(pParse,pChanges->a[*(int *)pcVar34].pExpr)" (parenthesized_expression "(*pcStack_c4)" ( (pointer_expression "*pcStack_c4" * identifier) )) (argument_list "(pParse,pChanges->a[*(int *)pcVar34].pExpr)" ( identifier , (field_expression "pChanges->a[*(int *)pcVar34].pExpr" (subscript_expression "pChanges->a[*(int *)pcVar34]" (field_expression "pChanges->a" identifier -> field_identifier) [ (pointer_expression "*(int *)pcVar34" * (cast_expression "(int *)pcVar34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ]) . field_identifier) ))) ;) }))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "pcVar34 = pcVar34 + 4;" (assignment_expression "pcVar34 = pcVar34 + 4" identifier = (binary_expression "pcVar34 + 4" identifier + number_literal)) ;) (expression_statement "psStack_c0 = psVar32;" (assignment_expression "psStack_c0 = psVar32" identifier = identifier) ;) (expression_statement "pSStack_bc = (Select *)pWhere;" (assignment_expression "pSStack_bc = (Select *)pWhere" identifier = (cast_expression "(Select *)pWhere" ( (type_descriptor "Select *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar7 < unaff_s1->nCol)" ( (binary_expression "iVar7 < unaff_s1->nCol" identifier < (field_expression "unaff_s1->nCol" identifier -> field_identifier)) )) ;) })) (if_statement "if ((unaff_s1->tabFlags & 0x20) == 0) {\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }\n          else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }" if (parenthesized_expression "((unaff_s1->tabFlags & 0x20) == 0)" ( (binary_expression "(unaff_s1->tabFlags & 0x20) == 0" (parenthesized_expression "(unaff_s1->tabFlags & 0x20)" ( (binary_expression "unaff_s1->tabFlags & 0x20" (field_expression "unaff_s1->tabFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);\n            if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }\n          }" { (expression_statement "(*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0);" (call_expression "(*pcVar36)(unaff_s7,0x80,pcStack_e4,pcStack_d8,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x80,pcStack_e4,pcStack_d8,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (pEStack_b8 == (Expr *)0x0) {\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }" if (parenthesized_expression "(pEStack_b8 == (Expr *)0x0)" ( (binary_expression "pEStack_b8 == (Expr *)0x0" identifier == (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);\n            }" { (expression_statement "(*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0);" (call_expression "(*pcVar36)(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x80,pcStack_e4,(undefined1 *)((int)&pWVar38->pParse + 2),0)" ( identifier , number_literal , identifier , (cast_expression "(undefined1 *)((int)&pWVar38->pParse + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar38->pParse + 2)" ( (binary_expression "(int)&pWVar38->pParse + 2" (cast_expression "(int)&pWVar38->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar38->pParse" & (field_expression "pWVar38->pParse" identifier -> field_identifier))) + number_literal) ))) , number_literal ))) ;) }) (else_clause "else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }" else (compound_statement "{\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8);" (call_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(pParse,pEStack_b8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))" ( (pointer_expression "*(code *)(PTR_LAB_00190c58 + -0x7cdc)" * (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(pParse,pEStack_b8)" ( identifier , identifier ))) ;) }))) }) (else_clause "else {\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }" else (compound_statement "{\n            pIVar14 = unaff_s1->pIndex;\n            if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }\n            bVar3 = pIVar14->field_0x37;\n            while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }\n            pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;\n            (*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);\n            (*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);\n          }" { (expression_statement "pIVar14 = unaff_s1->pIndex;" (assignment_expression "pIVar14 = unaff_s1->pIndex" identifier = (field_expression "unaff_s1->pIndex" identifier -> field_identifier)) ;) (if_statement "if (pIVar14 == (Index *)0x0) {\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }" if (parenthesized_expression "(pIVar14 == (Index *)0x0)" ( (binary_expression "pIVar14 == (Index *)0x0" identifier == (cast_expression "(Index *)0x0" ( (type_descriptor "Index *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);\n              (*pcVar27)();\n            }" { (labeled_statement "LAB_0010f910:\n                    /* WARNING: Does not return */\n              pcVar27 = (code *)trap(0);" statement_identifier : comment (expression_statement "pcVar27 = (code *)trap(0);" (assignment_expression "pcVar27 = (code *)trap(0)" identifier = (cast_expression "(code *)trap(0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "trap(0)" identifier (argument_list "(0)" ( number_literal ))))) ;)) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "bVar3 = pIVar14->field_0x37;" (assignment_expression "bVar3 = pIVar14->field_0x37" identifier = (field_expression "pIVar14->field_0x37" identifier -> field_identifier)) ;) (while_statement "while ((bVar3 & 0xc0) != 0x80) {\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }" while (parenthesized_expression "((bVar3 & 0xc0) != 0x80)" ( (binary_expression "(bVar3 & 0xc0) != 0x80" (parenthesized_expression "(bVar3 & 0xc0)" ( (binary_expression "bVar3 & 0xc0" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              pIVar14 = pIVar14->pNext;\n              if (pIVar14 == (Index *)0x0) goto LAB_0010f910;\n              bVar3 = pIVar14->field_0x37;\n            }" { (expression_statement "pIVar14 = pIVar14->pNext;" (assignment_expression "pIVar14 = pIVar14->pNext" identifier = (field_expression "pIVar14->pNext" identifier -> field_identifier)) ;) (if_statement "if (pIVar14 == (Index *)0x0) goto LAB_0010f910;" if (parenthesized_expression "(pIVar14 == (Index *)0x0)" ( (binary_expression "pIVar14 == (Index *)0x0" identifier == (cast_expression "(Index *)0x0" ( (type_descriptor "Index *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010f910;" goto statement_identifier ;)) (expression_statement "bVar3 = pIVar14->field_0x37;" (assignment_expression "bVar3 = pIVar14->field_0x37" identifier = (field_expression "pIVar14->field_0x37" identifier -> field_identifier)) ;) })) (expression_statement "pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn;" (assignment_expression "pWStack_c8 = (WhereInfo *)(int)*pIVar14->aiColumn" identifier = (cast_expression "(WhereInfo *)(int)*pIVar14->aiColumn" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*pIVar14->aiColumn" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pIVar14->aiColumn" * (field_expression "pIVar14->aiColumn" identifier -> field_identifier))))) ;) (expression_statement "(*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8);" (call_expression "(*pcVar36)(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0xa4,pcStack_e4,pWStack_c8,pcStack_d8)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0);" (call_expression "(*pcVar36)(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x4f,(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8,\n                       (undefined1 *)((int)&pWVar38->pParse + 2),0)" ( identifier , number_literal , (binary_expression "(undefined1 *)((int)&pWVar38->pParse + 3) + (int)pWStack_c8" (cast_expression "(undefined1 *)((int)&pWVar38->pParse + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar38->pParse + 3)" ( (binary_expression "(int)&pWVar38->pParse + 3" (cast_expression "(int)&pWVar38->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar38->pParse" & (field_expression "pWVar38->pParse" identifier -> field_identifier))) + number_literal) ))) + (cast_expression "(int)pWStack_c8" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(undefined1 *)((int)&pWVar38->pParse + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar38->pParse + 2)" ( (binary_expression "(int)&pWVar38->pParse + 2" (cast_expression "(int)&pWVar38->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar38->pParse" & (field_expression "pWVar38->pParse" identifier -> field_identifier))) + number_literal) ))) , number_literal ))) ;) }))) (expression_statement "aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0];" (assignment_expression "aiCurOnePass[0] = pWStack_d4->aiCurOnePass[0]" (subscript_expression "aiCurOnePass[0]" identifier [ number_literal ]) = (subscript_expression "pWStack_d4->aiCurOnePass[0]" (field_expression "pWStack_d4->aiCurOnePass" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1];" (assignment_expression "aiCurOnePass[1] = pWStack_d4->aiCurOnePass[1]" (subscript_expression "aiCurOnePass[1]" identifier [ number_literal ]) = (subscript_expression "pWStack_d4->aiCurOnePass[1]" (field_expression "pWStack_d4->aiCurOnePass" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass;" (assignment_expression "pWVar38 = (WhereInfo *)(uint)pWStack_d4->eOnePass" identifier = (cast_expression "(WhereInfo *)(uint)pWStack_d4->eOnePass" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pWStack_d4->eOnePass" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWStack_d4->eOnePass" identifier -> field_identifier)))) ;) (if_statement "if (pWVar38 == (WhereInfo *)0x0) {\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }" if (parenthesized_expression "(pWVar38 == (WhereInfo *)0x0)" ( (binary_expression "pWVar38 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pPVar15 = pParse->pToplevel;\n            if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }\n            pcStack_e4 = pcVar27 + 1;\n            pPVar15->isMultiWrite = '\x01';\n            (*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);\n            (*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);\n            (*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);\n            pcVar27 = (code *)0x0;\n            if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }\n          }" { (expression_statement "pPVar15 = pParse->pToplevel;" (assignment_expression "pPVar15 = pParse->pToplevel" identifier = (field_expression "pParse->pToplevel" identifier -> field_identifier)) ;) (if_statement "if (pParse->pToplevel == (Parse *)0x0) {\n              pPVar15 = pParse;\n            }" if (parenthesized_expression "(pParse->pToplevel == (Parse *)0x0)" ( (binary_expression "pParse->pToplevel == (Parse *)0x0" (field_expression "pParse->pToplevel" identifier -> field_identifier) == (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pPVar15 = pParse;\n            }" { (expression_statement "pPVar15 = pParse;" (assignment_expression "pPVar15 = pParse" identifier = identifier) ;) })) (expression_statement "pcStack_e4 = pcVar27 + 1;" (assignment_expression "pcStack_e4 = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;) (expression_statement "pPVar15->isMultiWrite = '\x01';" (assignment_expression "pPVar15->isMultiWrite = '\x01'" (field_expression "pPVar15->isMultiWrite" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "(*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4);" (call_expression "(*pcVar36)(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x66,pcStack_d8,pcVar13,pcStack_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0);" (call_expression "(*pcVar36)(unaff_s7,0x79,pUStack_e8,pTStack_d0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x79,pUStack_e8,pTStack_d0,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0);" (call_expression "(*pcVar36)(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x7a,pUStack_e8,pcStack_e4,pTStack_d0)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(pWStack_d4)" ( identifier ))) ;) (expression_statement "pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0);" (assignment_expression "pPStack_e0 = (Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0)" identifier = (cast_expression "(Parse *)(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0)" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar36)(unaff_s7,0x24,pUStack_e8,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x24,pUStack_e8,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))))) ;) (expression_statement "pcVar27 = (code *)0x0;" (assignment_expression "pcVar27 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)pcVar13) {\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }" if (parenthesized_expression "(0 < (int)pcVar13)" ( (binary_expression "0 < (int)pcVar13" number_literal < (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);\n            }" { (do_statement "do {\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              } while (pcVar13 != pcStack_e4);" do (compound_statement "{\n                pcStack_e4 = pcVar27 + 1;\n                (*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);\n                pcVar27 = pcStack_e4;\n              }" { (expression_statement "pcStack_e4 = pcVar27 + 1;" (assignment_expression "pcStack_e4 = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27);" (call_expression "(*pcVar36)(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x5a,pUStack_e8,pcVar27,pcStack_d8 + (int)pcVar27)" ( identifier , number_literal , identifier , identifier , (binary_expression "pcStack_d8 + (int)pcVar27" identifier + (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "pcVar27 = pcStack_e4;" (assignment_expression "pcVar27 = pcStack_e4" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar13 != pcStack_e4)" ( (binary_expression "pcVar13 != pcStack_e4" identifier != identifier) )) ;) })) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);\n            (*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2478)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2478)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2478" identifier + number_literal) )))) )) (argument_list "(unaff_s7->db,&unaff_s7->nTableLock,pPStack_e0)" ( (field_expression "unaff_s7->db" identifier -> field_identifier) , (pointer_expression "&unaff_s7->nTableLock" & (field_expression "unaff_s7->nTableLock" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "(*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0);" (call_expression "(*pcVar36)(unaff_s7,0x75,pcStack_e4,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x75,pcStack_e4,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) (expression_statement "pPVar15 = pPStack_e0;" (assignment_expression "pPVar15 = pPStack_e0" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190c2c + -0x3f00))(pParse,unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c2c + -0x3f00))" ( (pointer_expression "*(code *)(PTR_LAB_00190c2c + -0x3f00)" * (cast_expression "(code *)(PTR_LAB_00190c2c + -0x3f00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + -0x3f00)" ( (binary_expression "PTR_LAB_00190c2c + -0x3f00" identifier + number_literal) )))) )) (argument_list "(pParse,unaff_s1)" ( identifier , identifier ))) ;) (expression_statement "uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8);" (assignment_expression "uVar26 = (*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8)" identifier = (call_expression "(*pcVar36)(unaff_s7,10,0,pcVar13,pcStack_d8)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,10,0,pcVar13,pcStack_d8)" ( identifier , number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar26,pTVar35,0xfffffff4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + 0x7a3c)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x7a3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x7a3c)" ( (binary_expression "PTR_LAB_00190ba4 + 0x7a3c" identifier + number_literal) )))) )) (argument_list "(unaff_s7,uVar26,pTVar35,0xfffffff4)" ( identifier , identifier , identifier , number_literal ))) ;) (if_statement "if (onError == 0xb) {\n            onError = 2;\n          }" if (parenthesized_expression "(onError == 0xb)" ( (binary_expression "onError == 0xb" identifier == number_literal) )) (compound_statement "{\n            onError = 2;\n          }" { (expression_statement "onError = 2;" (assignment_expression "onError = 2" identifier = number_literal) ;) })) (if_statement "if (0 < (int)unaff_s7->aTableLock) {\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }" if (parenthesized_expression "(0 < (int)unaff_s7->aTableLock)" ( (binary_expression "0 < (int)unaff_s7->aTableLock" number_literal < (cast_expression "(int)unaff_s7->aTableLock" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->aTableLock" identifier -> field_identifier))) )) (compound_statement "{\n            ((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;\n          }" { (expression_statement "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError;" (assignment_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5 =\n                 (u16)onError" (field_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)].p5" (subscript_expression "((Op *)unaff_s7->nTableLock)[(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)]" (parenthesized_expression "((Op *)unaff_s7->nTableLock)" ( (cast_expression "(Op *)unaff_s7->nTableLock" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->nTableLock" identifier -> field_identifier)) )) [ (cast_expression "(int)((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (binary_expression "(int)&unaff_s7->aTableLock[-1].zLockName + 3" (cast_expression "(int)&unaff_s7->aTableLock[-1].zLockName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->aTableLock[-1].zLockName" & (field_expression "unaff_s7->aTableLock[-1].zLockName" (subscript_expression "unaff_s7->aTableLock[-1]" (field_expression "unaff_s7->aTableLock" identifier -> field_identifier) [ number_literal ]) . field_identifier))) + number_literal) ))) ]) . field_identifier) = (cast_expression "(u16)onError" ( (type_descriptor "u16" type_identifier) ) identifier)) ;) })) (if_statement "if (pParse->pToplevel != (Parse *)0x0) {\n            pParse = pParse->pToplevel;\n          }" if (parenthesized_expression "(pParse->pToplevel != (Parse *)0x0)" ( (binary_expression "pParse->pToplevel != (Parse *)0x0" (field_expression "pParse->pToplevel" identifier -> field_identifier) != (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pParse = pParse->pToplevel;\n          }" { (expression_statement "pParse = pParse->pToplevel;" (assignment_expression "pParse = pParse->pToplevel" identifier = (field_expression "pParse->pToplevel" identifier -> field_identifier)) ;) })) (expression_statement "pParse->mayAbort = '\x01';" (assignment_expression "pParse->mayAbort = '\x01'" (field_expression "pParse->mayAbort" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (pWVar38 == (WhereInfo *)0x0) {\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }" if (parenthesized_expression "(pWVar38 == (WhereInfo *)0x0)" ( (binary_expression "pWVar38 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);\n            if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }\n            if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }\n            pOVar20->p2 = (int)unaff_s7->aTableLock;\n            (*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);\n          }" { (expression_statement "(*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0);" (call_expression "(*pcVar36)(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,5,pUStack_e8,(undefined1 *)((int)&pPStack_e0->db + 1),0)" ( identifier , number_literal , identifier , (cast_expression "(undefined1 *)((int)&pPStack_e0->db + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPStack_e0->db + 1)" ( (binary_expression "(int)&pPStack_e0->db + 1" (cast_expression "(int)&pPStack_e0->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPStack_e0->db" & (field_expression "pPStack_e0->db" identifier -> field_identifier))) + number_literal) ))) , number_literal ))) ;) (if_statement "if ((int)pPStack_e0 < 0) {\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }" if (parenthesized_expression "((int)pPStack_e0 < 0)" ( (binary_expression "(int)pPStack_e0 < 0" (cast_expression "(int)pPStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);\n            }" { (expression_statement "pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3);" (assignment_expression "pPStack_e0 = (Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3)" identifier = (cast_expression "(Parse *)((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s7->aTableLock[-1].zLockName + 3)" ( (binary_expression "(int)&unaff_s7->aTableLock[-1].zLockName + 3" (cast_expression "(int)&unaff_s7->aTableLock[-1].zLockName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->aTableLock[-1].zLockName" & (field_expression "unaff_s7->aTableLock[-1].zLockName" (subscript_expression "unaff_s7->aTableLock[-1]" (field_expression "unaff_s7->aTableLock" identifier -> field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) ;) })) (if_statement "if (unaff_s7->db->mallocFailed == '\0') {\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }\n            else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }" if (parenthesized_expression "(unaff_s7->db->mallocFailed == '\0')" ( (binary_expression "unaff_s7->db->mallocFailed == '\0'" (field_expression "unaff_s7->db->mallocFailed" (field_expression "unaff_s7->db" identifier -> field_identifier) -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;\n            }" { (expression_statement "pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0;" (assignment_expression "pOVar20 = (Op *)unaff_s7->nTableLock + (int)pPStack_e0" identifier = (binary_expression "(Op *)unaff_s7->nTableLock + (int)pPStack_e0" (cast_expression "(Op *)unaff_s7->nTableLock" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->nTableLock" identifier -> field_identifier)) + (cast_expression "(int)pPStack_e0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }" else (compound_statement "{\n              pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);\n            }" { (expression_statement "pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc);" (assignment_expression "pOVar20 = (Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc)" identifier = (cast_expression "(Op *)(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc)" ( (type_descriptor "Op *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc)" ( (binary_expression "PTR_aBuiltinFunc_29540_1408__00190948 + 0xfbc" identifier + number_literal) )))) ;) }))) (expression_statement "pOVar20->p2 = (int)unaff_s7->aTableLock;" (assignment_expression "pOVar20->p2 = (int)unaff_s7->aTableLock" (field_expression "pOVar20->p2" identifier -> field_identifier) = (cast_expression "(int)unaff_s7->aTableLock" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->aTableLock" identifier -> field_identifier))) ;) (expression_statement "(*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0);" (call_expression "(*pcVar36)(unaff_s7,0x75,pUStack_e8,0,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s7,0x75,pUStack_e8,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);\n            pPVar15 = pParse;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(pWStack_d4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(pWStack_d4)" ( identifier ))) ;) (expression_statement "pPVar15 = pParse;" (assignment_expression "pPVar15 = pParse" identifier = identifier) ;) }))) })) }))) })) (labeled_statement "LAB_0010d60c:\n    pPVar19 = sContext.pParse;" statement_identifier : (expression_statement "pPVar19 = sContext.pParse;" (assignment_expression "pPVar19 = sContext.pParse" identifier = (field_expression "sContext.pParse" identifier . field_identifier)) ;)) (if_statement "if (sContext.pParse != (Parse *)0x0) {\n      sContext.pParse = (Parse *)0x0;\n      pPVar19->zAuthContext = sContext.zAuthContext;\n    }" if (parenthesized_expression "(sContext.pParse != (Parse *)0x0)" ( (binary_expression "sContext.pParse != (Parse *)0x0" (field_expression "sContext.pParse" identifier . field_identifier) != (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sContext.pParse = (Parse *)0x0;\n      pPVar19->zAuthContext = sContext.zAuthContext;\n    }" { (expression_statement "sContext.pParse = (Parse *)0x0;" (assignment_expression "sContext.pParse = (Parse *)0x0" (field_expression "sContext.pParse" identifier . field_identifier) = (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pPVar19->zAuthContext = sContext.zAuthContext;" (assignment_expression "pPVar19->zAuthContext = sContext.zAuthContext" (field_expression "pPVar19->zAuthContext" identifier -> field_identifier) = (field_expression "sContext.zAuthContext" identifier . field_identifier)) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(psVar32,pcStack_ec);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(psVar32,pcStack_ec)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2368)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(psVar32,pcStack_ec)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(psVar32,pTabList)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x210c)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) )) (argument_list "(psVar32,pTabList)" ( identifier , identifier ))) ;) (expression_statement "pParse = pPVar15;" (assignment_expression "pParse = pPVar15" identifier = identifier) ;) (expression_statement "unaff_s1 = pTVar31;" (assignment_expression "unaff_s1 = pTVar31" identifier = identifier) ;) (expression_statement "unaff_s5 = pTVar35;" (assignment_expression "unaff_s5 = pTVar35" identifier = identifier) ;) (expression_statement "unaff_s8 = pWVar38;" (assignment_expression "unaff_s8 = pWVar38" identifier = identifier) ;) (labeled_statement "LAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(psVar32,pChanges)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x4644)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x4644)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x4644)" ( (binary_expression "PTR_LAB_00190bb8 + -0x4644" identifier + number_literal) )))) )) (argument_list "(psVar32,pChanges)" ( identifier , identifier ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)\n\n{\n  byte *pbVar1;\n  code cVar2;\n  char cVar3;\n  byte bVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int iVar8;\n  int ******ppppppiVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  code *pcVar13;\n  int *******pppppppiVar14;\n  byte *pbVar15;\n  int *******pppppppiVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  short *psVar19;\n  code *pcVar20;\n  undefined4 uVar21;\n  int ******ppppppiVar22;\n  uint uVar23;\n  byte *pbVar24;\n  int *******unaff_s0;\n  uint uVar25;\n  code *unaff_s1;\n  int ******ppppppiVar26;\n  uint *puVar27;\n  code *pcVar28;\n  code *unaff_s5;\n  code *pcVar29;\n  int *******unaff_s7;\n  int ******unaff_s8;\n  int ******ppppppiVar30;\n  int local_f8;\n  int local_f4;\n  code *local_f0;\n  code *local_ec;\n  int ******local_e8;\n  int ******local_e4;\n  int *******local_e0;\n  int ******local_dc;\n  code *local_d8;\n  int ******local_d4;\n  int ******local_d0;\n  int ******local_cc;\n  int ******local_c8;\n  code *local_c4;\n  int ******local_c0;\n  int local_bc;\n  code *local_b8;\n  int *****local_b4;\n  int local_ac;\n  code *local_a8;\n  code *local_a4;\n  int ******local_a0;\n  int ******local_9c;\n  code *local_98;\n  int local_94;\n  int *******local_90;\n  code *local_8c;\n  int local_88;\n  uint local_64;\n  int local_60;\n  int ******local_5c;\n  int *******local_58;\n  int *******local_54;\n  int local_50;\n  int ******local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int ******local_34;\n  int ******local_30;\n  int local_2c;\n  \n  puVar6 = PTR___stack_chk_guard_00190e24;\n  local_f8 = param_6;\n  ppppppiVar26 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_f4 = param_7;\n  local_60 = 0;\n  local_5c = (int ******)0x0;\n  local_58 = (int *******)0x0;\n  local_e8 = param_8;\n  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;\n  unaff_s1 = (code *)FUN_00109b30();\n  if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = param_1;\n  if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n  param_1 = unaff_s0;\n  if (param_3 != (int *)0x0) goto LAB_0010d64c;\n  do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );\n}\n\n" (function_definition "void FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)\n\n{\n  byte *pbVar1;\n  code cVar2;\n  char cVar3;\n  byte bVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int iVar8;\n  int ******ppppppiVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  code *pcVar13;\n  int *******pppppppiVar14;\n  byte *pbVar15;\n  int *******pppppppiVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  short *psVar19;\n  code *pcVar20;\n  undefined4 uVar21;\n  int ******ppppppiVar22;\n  uint uVar23;\n  byte *pbVar24;\n  int *******unaff_s0;\n  uint uVar25;\n  code *unaff_s1;\n  int ******ppppppiVar26;\n  uint *puVar27;\n  code *pcVar28;\n  code *unaff_s5;\n  code *pcVar29;\n  int *******unaff_s7;\n  int ******unaff_s8;\n  int ******ppppppiVar30;\n  int local_f8;\n  int local_f4;\n  code *local_f0;\n  code *local_ec;\n  int ******local_e8;\n  int ******local_e4;\n  int *******local_e0;\n  int ******local_dc;\n  code *local_d8;\n  int ******local_d4;\n  int ******local_d0;\n  int ******local_cc;\n  int ******local_c8;\n  code *local_c4;\n  int ******local_c0;\n  int local_bc;\n  code *local_b8;\n  int *****local_b4;\n  int local_ac;\n  code *local_a8;\n  code *local_a4;\n  int ******local_a0;\n  int ******local_9c;\n  code *local_98;\n  int local_94;\n  int *******local_90;\n  code *local_8c;\n  int local_88;\n  uint local_64;\n  int local_60;\n  int ******local_5c;\n  int *******local_58;\n  int *******local_54;\n  int local_50;\n  int ******local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int ******local_34;\n  int ******local_30;\n  int local_2c;\n  \n  puVar6 = PTR___stack_chk_guard_00190e24;\n  local_f8 = param_6;\n  ppppppiVar26 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_f4 = param_7;\n  local_60 = 0;\n  local_5c = (int ******)0x0;\n  local_58 = (int *******)0x0;\n  local_e8 = param_8;\n  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;\n  unaff_s1 = (code *)FUN_00109b30();\n  if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = param_1;\n  if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n  param_1 = unaff_s0;\n  if (param_3 != (int *)0x0) goto LAB_0010d64c;\n  do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );\n}" primitive_type (function_declarator "FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)" identifier (parameter_list "(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)" ( (parameter_declaration "int *******param_1" primitive_type (pointer_declarator "*******param_1" * (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier)))))))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "int param_7" primitive_type identifier) , (parameter_declaration "int ******param_8" primitive_type (pointer_declarator "******param_8" * (pointer_declarator "*****param_8" * (pointer_declarator "****param_8" * (pointer_declarator "***param_8" * (pointer_declarator "**param_8" * (pointer_declarator "*param_8" * identifier))))))) ))) (compound_statement "{\n  byte *pbVar1;\n  code cVar2;\n  char cVar3;\n  byte bVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int iVar8;\n  int ******ppppppiVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  code *pcVar13;\n  int *******pppppppiVar14;\n  byte *pbVar15;\n  int *******pppppppiVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  short *psVar19;\n  code *pcVar20;\n  undefined4 uVar21;\n  int ******ppppppiVar22;\n  uint uVar23;\n  byte *pbVar24;\n  int *******unaff_s0;\n  uint uVar25;\n  code *unaff_s1;\n  int ******ppppppiVar26;\n  uint *puVar27;\n  code *pcVar28;\n  code *unaff_s5;\n  code *pcVar29;\n  int *******unaff_s7;\n  int ******unaff_s8;\n  int ******ppppppiVar30;\n  int local_f8;\n  int local_f4;\n  code *local_f0;\n  code *local_ec;\n  int ******local_e8;\n  int ******local_e4;\n  int *******local_e0;\n  int ******local_dc;\n  code *local_d8;\n  int ******local_d4;\n  int ******local_d0;\n  int ******local_cc;\n  int ******local_c8;\n  code *local_c4;\n  int ******local_c0;\n  int local_bc;\n  code *local_b8;\n  int *****local_b4;\n  int local_ac;\n  code *local_a8;\n  code *local_a4;\n  int ******local_a0;\n  int ******local_9c;\n  code *local_98;\n  int local_94;\n  int *******local_90;\n  code *local_8c;\n  int local_88;\n  uint local_64;\n  int local_60;\n  int ******local_5c;\n  int *******local_58;\n  int *******local_54;\n  int local_50;\n  int ******local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int ******local_34;\n  int ******local_30;\n  int local_2c;\n  \n  puVar6 = PTR___stack_chk_guard_00190e24;\n  local_f8 = param_6;\n  ppppppiVar26 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_f4 = param_7;\n  local_60 = 0;\n  local_5c = (int ******)0x0;\n  local_58 = (int *******)0x0;\n  local_e8 = param_8;\n  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;\n  unaff_s1 = (code *)FUN_00109b30();\n  if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = param_1;\n  if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n  param_1 = unaff_s0;\n  if (param_3 != (int *)0x0) goto LAB_0010d64c;\n  do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "code cVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int ******ppppppiVar9;" primitive_type (pointer_declarator "******ppppppiVar9" * (pointer_declarator "*****ppppppiVar9" * (pointer_declarator "****ppppppiVar9" * (pointer_declarator "***ppppppiVar9" * (pointer_declarator "**ppppppiVar9" * (pointer_declarator "*ppppppiVar9" * identifier)))))) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int *******pppppppiVar14;" primitive_type (pointer_declarator "*******pppppppiVar14" * (pointer_declarator "******pppppppiVar14" * (pointer_declarator "*****pppppppiVar14" * (pointer_declarator "****pppppppiVar14" * (pointer_declarator "***pppppppiVar14" * (pointer_declarator "**pppppppiVar14" * (pointer_declarator "*pppppppiVar14" * identifier))))))) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int *******pppppppiVar16;" primitive_type (pointer_declarator "*******pppppppiVar16" * (pointer_declarator "******pppppppiVar16" * (pointer_declarator "*****pppppppiVar16" * (pointer_declarator "****pppppppiVar16" * (pointer_declarator "***pppppppiVar16" * (pointer_declarator "**pppppppiVar16" * (pointer_declarator "*pppppppiVar16" * identifier))))))) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "short *psVar19;" (sized_type_specifier "short" short) (pointer_declarator "*psVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "int ******ppppppiVar22;" primitive_type (pointer_declarator "******ppppppiVar22" * (pointer_declarator "*****ppppppiVar22" * (pointer_declarator "****ppppppiVar22" * (pointer_declarator "***ppppppiVar22" * (pointer_declarator "**ppppppiVar22" * (pointer_declarator "*ppppppiVar22" * identifier)))))) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "int *******unaff_s0;" primitive_type (pointer_declarator "*******unaff_s0" * (pointer_declarator "******unaff_s0" * (pointer_declarator "*****unaff_s0" * (pointer_declarator "****unaff_s0" * (pointer_declarator "***unaff_s0" * (pointer_declarator "**unaff_s0" * (pointer_declarator "*unaff_s0" * identifier))))))) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "code *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int ******ppppppiVar26;" primitive_type (pointer_declarator "******ppppppiVar26" * (pointer_declarator "*****ppppppiVar26" * (pointer_declarator "****ppppppiVar26" * (pointer_declarator "***ppppppiVar26" * (pointer_declarator "**ppppppiVar26" * (pointer_declarator "*ppppppiVar26" * identifier)))))) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "code *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "int *******unaff_s7;" primitive_type (pointer_declarator "*******unaff_s7" * (pointer_declarator "******unaff_s7" * (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier))))))) ;) (declaration "int ******unaff_s8;" primitive_type (pointer_declarator "******unaff_s8" * (pointer_declarator "*****unaff_s8" * (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)))))) ;) (declaration "int ******ppppppiVar30;" primitive_type (pointer_declarator "******ppppppiVar30" * (pointer_declarator "*****ppppppiVar30" * (pointer_declarator "****ppppppiVar30" * (pointer_declarator "***ppppppiVar30" * (pointer_declarator "**ppppppiVar30" * (pointer_declarator "*ppppppiVar30" * identifier)))))) ;) (declaration "int local_f8;" primitive_type identifier ;) (declaration "int local_f4;" primitive_type identifier ;) (declaration "code *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "code *local_ec;" type_identifier (pointer_declarator "*local_ec" * identifier) ;) (declaration "int ******local_e8;" primitive_type (pointer_declarator "******local_e8" * (pointer_declarator "*****local_e8" * (pointer_declarator "****local_e8" * (pointer_declarator "***local_e8" * (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier)))))) ;) (declaration "int ******local_e4;" primitive_type (pointer_declarator "******local_e4" * (pointer_declarator "*****local_e4" * (pointer_declarator "****local_e4" * (pointer_declarator "***local_e4" * (pointer_declarator "**local_e4" * (pointer_declarator "*local_e4" * identifier)))))) ;) (declaration "int *******local_e0;" primitive_type (pointer_declarator "*******local_e0" * (pointer_declarator "******local_e0" * (pointer_declarator "*****local_e0" * (pointer_declarator "****local_e0" * (pointer_declarator "***local_e0" * (pointer_declarator "**local_e0" * (pointer_declarator "*local_e0" * identifier))))))) ;) (declaration "int ******local_dc;" primitive_type (pointer_declarator "******local_dc" * (pointer_declarator "*****local_dc" * (pointer_declarator "****local_dc" * (pointer_declarator "***local_dc" * (pointer_declarator "**local_dc" * (pointer_declarator "*local_dc" * identifier)))))) ;) (declaration "code *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "int ******local_d4;" primitive_type (pointer_declarator "******local_d4" * (pointer_declarator "*****local_d4" * (pointer_declarator "****local_d4" * (pointer_declarator "***local_d4" * (pointer_declarator "**local_d4" * (pointer_declarator "*local_d4" * identifier)))))) ;) (declaration "int ******local_d0;" primitive_type (pointer_declarator "******local_d0" * (pointer_declarator "*****local_d0" * (pointer_declarator "****local_d0" * (pointer_declarator "***local_d0" * (pointer_declarator "**local_d0" * (pointer_declarator "*local_d0" * identifier)))))) ;) (declaration "int ******local_cc;" primitive_type (pointer_declarator "******local_cc" * (pointer_declarator "*****local_cc" * (pointer_declarator "****local_cc" * (pointer_declarator "***local_cc" * (pointer_declarator "**local_cc" * (pointer_declarator "*local_cc" * identifier)))))) ;) (declaration "int ******local_c8;" primitive_type (pointer_declarator "******local_c8" * (pointer_declarator "*****local_c8" * (pointer_declarator "****local_c8" * (pointer_declarator "***local_c8" * (pointer_declarator "**local_c8" * (pointer_declarator "*local_c8" * identifier)))))) ;) (declaration "code *local_c4;" type_identifier (pointer_declarator "*local_c4" * identifier) ;) (declaration "int ******local_c0;" primitive_type (pointer_declarator "******local_c0" * (pointer_declarator "*****local_c0" * (pointer_declarator "****local_c0" * (pointer_declarator "***local_c0" * (pointer_declarator "**local_c0" * (pointer_declarator "*local_c0" * identifier)))))) ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "code *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "int *****local_b4;" primitive_type (pointer_declarator "*****local_b4" * (pointer_declarator "****local_b4" * (pointer_declarator "***local_b4" * (pointer_declarator "**local_b4" * (pointer_declarator "*local_b4" * identifier))))) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "code *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "code *local_a4;" type_identifier (pointer_declarator "*local_a4" * identifier) ;) (declaration "int ******local_a0;" primitive_type (pointer_declarator "******local_a0" * (pointer_declarator "*****local_a0" * (pointer_declarator "****local_a0" * (pointer_declarator "***local_a0" * (pointer_declarator "**local_a0" * (pointer_declarator "*local_a0" * identifier)))))) ;) (declaration "int ******local_9c;" primitive_type (pointer_declarator "******local_9c" * (pointer_declarator "*****local_9c" * (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)))))) ;) (declaration "code *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int *******local_90;" primitive_type (pointer_declarator "*******local_90" * (pointer_declarator "******local_90" * (pointer_declarator "*****local_90" * (pointer_declarator "****local_90" * (pointer_declarator "***local_90" * (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier))))))) ;) (declaration "code *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int ******local_5c;" primitive_type (pointer_declarator "******local_5c" * (pointer_declarator "*****local_5c" * (pointer_declarator "****local_5c" * (pointer_declarator "***local_5c" * (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)))))) ;) (declaration "int *******local_58;" primitive_type (pointer_declarator "*******local_58" * (pointer_declarator "******local_58" * (pointer_declarator "*****local_58" * (pointer_declarator "****local_58" * (pointer_declarator "***local_58" * (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier))))))) ;) (declaration "int *******local_54;" primitive_type (pointer_declarator "*******local_54" * (pointer_declarator "******local_54" * (pointer_declarator "*****local_54" * (pointer_declarator "****local_54" * (pointer_declarator "***local_54" * (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier))))))) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int ******local_4c;" primitive_type (pointer_declarator "******local_4c" * (pointer_declarator "*****local_4c" * (pointer_declarator "****local_4c" * (pointer_declarator "***local_4c" * (pointer_declarator "**local_4c" * (pointer_declarator "*local_4c" * identifier)))))) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int ******local_34;" primitive_type (pointer_declarator "******local_34" * (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))))) ;) (declaration "int ******local_30;" primitive_type (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)))))) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar6 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar6 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_f8 = param_6;" (assignment_expression "local_f8 = param_6" identifier = identifier) ;) (expression_statement "ppppppiVar26 = *param_1;" (assignment_expression "ppppppiVar26 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_f4 = param_7;" (assignment_expression "local_f4 = param_7" identifier = identifier) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = (int ******)0x0;" (assignment_expression "local_5c = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_e8 = param_8;" (assignment_expression "local_e8 = param_8" identifier = identifier) ;) (if_statement "if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;" if (parenthesized_expression "((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))" ( (binary_expression "(param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0')" (parenthesized_expression "(param_1[9] != (int ******)0x0)" ( (binary_expression "param_1[9] != (int ******)0x0" (subscript_expression "param_1[9]" identifier [ number_literal ]) != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "(*(char *)((int)ppppppiVar26 + 0x51) != '\0')" ( (binary_expression "*(char *)((int)ppppppiVar26 + 0x51) != '\0'" (pointer_expression "*(char *)((int)ppppppiVar26 + 0x51)" * (cast_expression "(char *)((int)ppppppiVar26 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar26 + 0x51)" ( (binary_expression "(int)ppppppiVar26 + 0x51" (cast_expression "(int)ppppppiVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0010d4a8;" goto statement_identifier ;)) (expression_statement "unaff_s1 = (code *)FUN_00109b30();" (assignment_expression "unaff_s1 = (code *)FUN_00109b30()" identifier = (cast_expression "(code *)FUN_00109b30()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00109b30()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }" if (parenthesized_expression "(unaff_s1 != (code *)0x0)" ( (binary_expression "unaff_s1 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }" { (if_statement "if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" if (parenthesized_expression "(*(int *)(unaff_s1 + 0x48) == 0)" ( (binary_expression "*(int *)(unaff_s1 + 0x48) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x48)" * (cast_expression "(int *)(unaff_s1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x48)" ( (binary_expression "unaff_s1 + 0x48" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      local_b4 = (int *****)0xfff0bdc0;\n    }" { (expression_statement "local_b4 = (int *****)0xfff0bdc0;" (assignment_expression "local_b4 = (int *****)0xfff0bdc0" identifier = (cast_expression "(int *****)0xfff0bdc0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" else (compound_statement "{\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" { (expression_statement "local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);" (assignment_expression "local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" identifier = (cast_expression "(int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))))) ;) }))) (expression_statement "local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);" (assignment_expression "local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" identifier = (cast_expression "(int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2620))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2620)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2620)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2620)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2620" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,0x76,param_3,&local_64)" ( identifier , identifier , number_literal , identifier , (pointer_expression "&local_64" & identifier) ))))) ;) (expression_statement "local_bc = *(int *)(unaff_s1 + 0xc);" (assignment_expression "local_bc = *(int *)(unaff_s1 + 0xc)" identifier = (pointer_expression "*(int *)(unaff_s1 + 0xc)" * (cast_expression "(int *)(unaff_s1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0xc)" ( (binary_expression "unaff_s1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" { (expression_statement "param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);" (assignment_expression "param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -14000))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -14000)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -14000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -14000)" ( (binary_expression "PTR_LAB_00190bc4 + -14000" identifier + number_literal) )))) )) (argument_list "(param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "PTR_LAB_00190958 + 0x6b68" identifier + number_literal) )))) ;) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) })) (expression_statement "iVar8 = FUN_000f89f8(param_1,unaff_s1);" (assignment_expression "iVar8 = FUN_000f89f8(param_1,unaff_s1)" identifier = (call_expression "FUN_000f89f8(param_1,unaff_s1)" identifier (argument_list "(param_1,unaff_s1)" ( identifier , identifier )))) ;) (if_statement "if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }" if (parenthesized_expression "((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       ))" ( (binary_expression "(iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )" ( (comma_expression "local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0" (assignment_expression "local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x73d8))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x73d8)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x73d8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x73d8)" ( (binary_expression "PTR_LAB_00190bc4 + -0x73d8" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,local_64)" ( identifier , identifier , identifier )))) , (binary_expression "local_ac == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }" { (expression_statement "local_d4 = param_1[10];" (assignment_expression "local_d4 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "local_c8 = (int ******)((int)local_d4 + 1);" (assignment_expression "local_c8 = (int ******)((int)local_d4 + 1)" identifier = (cast_expression "(int ******)((int)local_d4 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_d4 + 1)" ( (binary_expression "(int)local_d4 + 1" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_1[10] = local_c8;" (assignment_expression "param_1[10] = local_c8" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" identifier = (pointer_expression "*(code **)(unaff_s1 + 8)" * (cast_expression "(code **)(unaff_s1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 8)" ( (binary_expression "unaff_s1 + 8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = local_d4;" (assignment_expression "unaff_s8 = local_d4" identifier = identifier) ;) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }" { (expression_statement "unaff_s5 = (code *)0x0;" (assignment_expression "unaff_s5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar13 != (code *)0x0) goto LAB_0010d700;" if (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d700;" goto statement_identifier ;)) (expression_statement "local_90 = (int *******)0x0;" (assignment_expression "local_90 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" else (if_statement "if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" if (parenthesized_expression "(pcVar13 == (code *)0x0)" ( (binary_expression "pcVar13 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }" { (expression_statement "unaff_s5 = (code *)0x0;" (assignment_expression "unaff_s5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_90 = (int *******)0x0;" (assignment_expression "local_90 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" else (compound_statement "{\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" { (expression_statement "cVar2 = pcVar13[0x37];" (assignment_expression "cVar2 = pcVar13[0x37]" identifier = (subscript_expression "pcVar13[0x37]" identifier [ number_literal ])) ;) (expression_statement "unaff_s5 = pcVar13;" (assignment_expression "unaff_s5 = pcVar13" identifier = identifier) ;) (while_statement "while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }" while (parenthesized_expression "((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)))" ( (parenthesized_expression "(((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))" ( (binary_expression "((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)" (binary_expression "((byte)cVar2 & 0xc0) != 0x80" (parenthesized_expression "((byte)cVar2 & 0xc0)" ( (binary_expression "(byte)cVar2 & 0xc0" (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) && (parenthesized_expression "(unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)" ( (comma_expression "unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0" (assignment_expression "unaff_s5 = *(code **)(unaff_s5 + 0x14)" identifier = (pointer_expression "*(code **)(unaff_s5 + 0x14)" * (cast_expression "(code **)(unaff_s5 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s5 + 0x14)" ( (binary_expression "unaff_s5 + 0x14" identifier + number_literal) ))))) , (binary_expression "unaff_s5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) )) (compound_statement "{\n          cVar2 = unaff_s5[0x37];\n        }" { (expression_statement "cVar2 = unaff_s5[0x37];" (assignment_expression "cVar2 = unaff_s5[0x37]" identifier = (subscript_expression "unaff_s5[0x37]" identifier [ number_literal ])) ;) })) (labeled_statement "LAB_0010d700:\n        ppppppiVar30 = local_c8;" statement_identifier : (expression_statement "ppppppiVar30 = local_c8;" (assignment_expression "ppppppiVar30 = local_c8" identifier = identifier) ;)) (do_statement "do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);" do (compound_statement "{\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        }" { (if_statement "if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }" if (parenthesized_expression "(unaff_s5 == pcVar13)" ( (binary_expression "unaff_s5 == pcVar13" identifier == identifier) )) (compound_statement "{\n            unaff_s8 = ppppppiVar30;\n          }" { (expression_statement "unaff_s8 = ppppppiVar30;" (assignment_expression "unaff_s8 = ppppppiVar30" identifier = identifier) ;) })) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 + 1)" ( (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_1[10] = ppppppiVar30;" (assignment_expression "param_1[10] = ppppppiVar30" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar13 = *(code **)(pcVar13 + 0x14);" (assignment_expression "pcVar13 = *(code **)(pcVar13 + 0x14)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x14)" * (cast_expression "(code **)(pcVar13 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x14)" ( (binary_expression "pcVar13 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);" (assignment_expression "local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30)" identifier = (cast_expression "(int *******)(~(uint)local_d4 + (int)ppppppiVar30)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(~(uint)local_d4 + (int)ppppppiVar30)" ( (binary_expression "~(uint)local_d4 + (int)ppppppiVar30" (unary_expression "~(uint)local_d4" ~ (cast_expression "(uint)local_d4" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) while (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))))) (if_statement "if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }" if (parenthesized_expression "(param_8 != (int ******)0x0)" ( (binary_expression "param_8 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }" { (expression_statement "unaff_s8 = (int ******)param_8[7];" (assignment_expression "unaff_s8 = (int ******)param_8[7]" identifier = (cast_expression "(int ******)param_8[7]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_8[7]" identifier [ number_literal ]))) ;) (expression_statement "local_c8 = (int ******)param_8[8];" (assignment_expression "local_c8 = (int ******)param_8[8]" identifier = (cast_expression "(int ******)param_8[8]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_8[8]" identifier [ number_literal ]))) ;) (expression_statement "param_1[10] = local_d4;" (assignment_expression "param_1[10] = local_d4" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "*(int *******)(param_2 + 0x30) = unaff_s8;" (assignment_expression "*(int *******)(param_2 + 0x30) = unaff_s8" (pointer_expression "*(int *******)(param_2 + 0x30)" * (cast_expression "(int *******)(param_2 + 0x30)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);" (assignment_expression "local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51)" identifier = (binary_expression "(code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)ppppppiVar26 + 0x51)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar26 + 0x51)" ( (binary_expression "(int)ppppppiVar26 + 0x51" (cast_expression "(int)ppppppiVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "unaff_s7 = local_90;" (assignment_expression "unaff_s7 = local_90" identifier = identifier) ;) (if_statement "if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }" if (parenthesized_expression "((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0))" ( (binary_expression "(local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)" (parenthesized_expression "(local_a8 == (code *)0x0)" ( (binary_expression "local_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)" ( (comma_expression "local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0" (assignment_expression "local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" identifier = (cast_expression "(code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x854)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x854)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x854)" ( (binary_expression "PTR_LAB_00190ba8 + 0x854" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26)" ( identifier ))))) , (binary_expression "local_ec != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }" { (expression_statement "local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;" (assignment_expression "local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4" identifier = (binary_expression "local_ec + *(short *)(unaff_s1 + 0x2a) * 4" identifier + (binary_expression "*(short *)(unaff_s1 + 0x2a) * 4" (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "local_98 = local_a4 + (int)local_90 * 4;" (assignment_expression "local_98 = local_a4 + (int)local_90 * 4" identifier = (binary_expression "local_a4 + (int)local_90 * 4" identifier + (binary_expression "(int)local_90 * 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "(*(code *)PTR_memset_00190d58)(local_98,1);" (call_expression "(*(code *)PTR_memset_00190d58)(local_98,1)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_98,1)" ( identifier , number_literal ))) ;) (expression_statement "(local_98 + (int)local_90)[1] = (code)0x0;" (assignment_expression "(local_98 + (int)local_90)[1] = (code)0x0" (subscript_expression "(local_98 + (int)local_90)[1]" (parenthesized_expression "(local_98 + (int)local_90)" ( (binary_expression "local_98 + (int)local_90" identifier + (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier)) )) [ number_literal ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = local_ec;" (assignment_expression "pcVar13 = local_ec" identifier = identifier) ;) (do_statement "do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));" do (compound_statement "{\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          }" { (expression_statement "*(undefined4 *)pcVar13 = 0xffffffff;" (assignment_expression "*(undefined4 *)pcVar13 = 0xffffffff" (pointer_expression "*(undefined4 *)pcVar13" * (cast_expression "(undefined4 *)pcVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = pcVar13 + 4;" (assignment_expression "pcVar13 = pcVar13 + 4" identifier = (binary_expression "pcVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "iVar8 < *(short *)(unaff_s1 + 0x2a)" identifier < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) ;) })) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_4c = param_8;" (assignment_expression "local_4c = param_8" identifier = identifier) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0x2000000;" (assignment_expression "local_3c = 0x2000000" identifier = number_literal) ;) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" identifier = identifier) ;) (expression_statement "local_50 = param_2;" (assignment_expression "local_50 = param_2" identifier = identifier) ;) (if_statement "if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" if (parenthesized_expression "(*param_3 < 1)" ( (binary_expression "*param_3 < 1" (pointer_expression "*param_3" * identifier) < number_literal) )) (compound_statement "{\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }" { (expression_statement "local_d8 = (code *)0x0;" (assignment_expression "local_d8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b8 = (code *)0x0;" (assignment_expression "local_b8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" else (compound_statement "{\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" { (expression_statement "puVar27 = (uint *)(param_3 + 1);" (assignment_expression "puVar27 = (uint *)(param_3 + 1)" identifier = (cast_expression "(uint *)(param_3 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )))) ;) (expression_statement "pppppppiVar14 = (int *******)&local_54;" (assignment_expression "pppppppiVar14 = (int *******)&local_54" identifier = (cast_expression "(int *******)&local_54" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_54" & identifier))) ;) (expression_statement "unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);" (assignment_expression "unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18)" identifier = (cast_expression "(int *******)(PTR_DAT_00190b94 + -0x3c18)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_DAT_00190b94 + -0x3c18)" ( (binary_expression "PTR_DAT_00190b94 + -0x3c18" identifier + number_literal) )))) ;) (expression_statement "ppppppiVar30 = (int ******)0x0;" (assignment_expression "ppppppiVar30 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_d8 = (code *)0x0;" (assignment_expression "local_d8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);" (assignment_expression "local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280)" identifier = (cast_expression "(int ******)(PTR_LAB_00190bdc + 0x6280)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x6280)" ( (binary_expression "PTR_LAB_00190bdc + 0x6280" identifier + number_literal) )))) ;) (expression_statement "local_b8 = (code *)0x0;" (assignment_expression "local_b8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);" (assignment_expression "local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x4b2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x4b2c)" ( (binary_expression "PTR_LAB_00190ba4 + -0x4b2c" identifier + number_literal) )))) ;) (expression_statement "local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);" (assignment_expression "local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" identifier = (cast_expression "(int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c" identifier + number_literal) )))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90)" identifier = (cast_expression "(code *)(PTR_LAB_00190bdc + 0x5b90)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x5b90)" ( (binary_expression "PTR_LAB_00190bdc + 0x5b90" identifier + number_literal) )))) ;) (do_statement "do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);" do (compound_statement "{\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          }" { (expression_statement "pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);" (assignment_expression "pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27)" identifier = (cast_expression "(code *)(*(code *)local_e4)(pppppppiVar14,*puVar27)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)local_e4)(pppppppiVar14,*puVar27)" (parenthesized_expression "(*(code *)local_e4)" ( (pointer_expression "*(code *)local_e4" * (cast_expression "(code *)local_e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppiVar14,*puVar27)" ( identifier , (pointer_expression "*puVar27" * identifier) ))))) ;) (expression_statement "pcVar29 = unaff_s1;" (assignment_expression "pcVar29 = unaff_s1" identifier = identifier) ;) (if_statement "if (pcVar20 != (code *)0x0) goto LAB_0010d60c;" if (parenthesized_expression "(pcVar20 != (code *)0x0)" ( (binary_expression "pcVar20 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (expression_statement "pbVar24 = (byte *)puVar27[1];" (assignment_expression "pbVar24 = (byte *)puVar27[1]" identifier = (cast_expression "(byte *)puVar27[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[1]" identifier [ number_literal ]))) ;) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }" { (expression_statement "puVar18 = *(undefined4 **)(unaff_s1 + 4);" (assignment_expression "puVar18 = *(undefined4 **)(unaff_s1 + 4)" identifier = (pointer_expression "*(undefined4 **)(unaff_s1 + 4)" * (cast_expression "(undefined4 **)(unaff_s1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 4)" ( (binary_expression "unaff_s1 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);" do (compound_statement "{\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              }" { (expression_statement "pbVar15 = (byte *)*puVar18;" (assignment_expression "pbVar15 = (byte *)*puVar18" identifier = (cast_expression "(byte *)*puVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (expression_statement "uVar23 = (uint)*pbVar15;" (assignment_expression "uVar23 = (uint)*pbVar15" identifier = (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar17 = pbVar24;" (assignment_expression "pbVar17 = pbVar24" identifier = identifier) ;) (if_statement "if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }" if (parenthesized_expression "(*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))" ( (binary_expression "*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24)" (pointer_expression "*(char *)((int)unaff_s7 + uVar23)" * (cast_expression "(char *)((int)unaff_s7 + uVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + uVar23)" ( (binary_expression "(int)unaff_s7 + uVar23" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) == (pointer_expression "*(char *)((int)unaff_s7 + (uint)*pbVar24)" * (cast_expression "(char *)((int)unaff_s7 + (uint)*pbVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (uint)*pbVar24)" ( (binary_expression "(int)unaff_s7 + (uint)*pbVar24" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)*pbVar24" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) )) (compound_statement "{\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }" { (do_statement "do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));" do (compound_statement "{\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  }" { (if_statement "if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (compound_statement "{\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }" { (if_statement "if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" if (parenthesized_expression "(pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28))" ( (binary_expression "pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)" identifier == (cast_expression "(code *)(int)*(short *)(unaff_s1 + 0x28)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(unaff_s1 + 0x28)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x28)" * (cast_expression "(short *)(unaff_s1 + 0x28)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x28)" ( (binary_expression "unaff_s1 + 0x28" identifier + number_literal) ))))))) )) (compound_statement "{\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }" { (expression_statement "local_b8 = (code *)*puVar27;" (assignment_expression "local_b8 = (code *)*puVar27" identifier = (cast_expression "(code *)*puVar27" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar27" * identifier))) ;) (expression_statement "local_d8 = (code *)0x1;" (assignment_expression "local_d8 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" else (if_statement "if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" if (parenthesized_expression "((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0))" ( (binary_expression "(unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)" (parenthesized_expression "(unaff_s5 != (code *)0x0)" ( (binary_expression "unaff_s5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)puVar18 + 0xf) & 1) != 0)" ( (binary_expression "(*(byte *)((int)puVar18 + 0xf) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar18 + 0xf) & 1)" ( (binary_expression "*(byte *)((int)puVar18 + 0xf) & 1" (pointer_expression "*(byte *)((int)puVar18 + 0xf)" * (cast_expression "(byte *)((int)puVar18 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xf)" ( (binary_expression "(int)puVar18 + 0xf" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" { (expression_statement "local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);" (assignment_expression "local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1)" identifier = (cast_expression "(code *)(*(byte *)((int)puVar18 + 0xf) & 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)((int)puVar18 + 0xf) & 1)" ( (binary_expression "*(byte *)((int)puVar18 + 0xf) & 1" (pointer_expression "*(byte *)((int)puVar18 + 0xf)" * (cast_expression "(byte *)((int)puVar18 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xf)" ( (binary_expression "(int)puVar18 + 0xf" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )))) ;) })))) (expression_statement "*(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;" (assignment_expression "*(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30" (pointer_expression "*(int *******)(local_ec + (int)pcVar20 * 4)" * (cast_expression "(int *******)(local_ec + (int)pcVar20 * 4)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ec + (int)pcVar20 * 4)" ( (binary_expression "local_ec + (int)pcVar20 * 4" identifier + (binary_expression "(int)pcVar20 * 4" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (if_statement "if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }" if (parenthesized_expression "((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20)" ( (binary_expression "(int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20" (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) <= (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }" { (expression_statement "pbVar24 = (byte *)puVar27[1];" (assignment_expression "pbVar24 = (byte *)puVar27[1]" identifier = (cast_expression "(byte *)puVar27[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0010d954;" goto statement_identifier ;) })) (expression_statement "iVar8 = *(int *)unaff_s1;" (assignment_expression "iVar8 = *(int *)unaff_s1" identifier = (pointer_expression "*(int *)unaff_s1" * (cast_expression "(int *)unaff_s1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);" (assignment_expression "ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" identifier = (pointer_expression "*(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" * (cast_expression "(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" ( (binary_expression "*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10" (pointer_expression "*(int *)(unaff_s1 + 4)" * (cast_expression "(int *)(unaff_s1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 4)" ( (binary_expression "unaff_s1 + 4" identifier + number_literal) )))) + (binary_expression "(int)pcVar20 * 0x10" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (goto_statement "goto LAB_0010d98c;" goto statement_identifier ;) })) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "pbVar1 = pbVar17 + 1;" (assignment_expression "pbVar1 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar23 = (uint)*pbVar15;" (assignment_expression "uVar23 = (uint)*pbVar15" identifier = (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1))" ( (binary_expression "*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1)" (pointer_expression "*(char *)((int)unaff_s7 + uVar23)" * (cast_expression "(char *)((int)unaff_s7 + uVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + uVar23)" ( (binary_expression "(int)unaff_s7 + uVar23" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) == (pointer_expression "*(char *)((int)unaff_s7 + (uint)*pbVar1)" * (cast_expression "(char *)((int)unaff_s7 + (uint)*pbVar1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (uint)*pbVar1)" ( (binary_expression "(int)unaff_s7 + (uint)*pbVar1" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) )) ;) })) (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar18 + 4;" (assignment_expression "puVar18 = puVar18 + 4" identifier = (binary_expression "puVar18 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20)" ( (binary_expression "(code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20" (cast_expression "(code *)(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) != identifier) )) ;) })) (labeled_statement "LAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" statement_identifier : (if_statement "if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" if (parenthesized_expression "((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0))" ( (binary_expression "(unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)" (parenthesized_expression "(unaff_s5 != (code *)0x0)" ( (binary_expression "unaff_s5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar8 = (*local_c4)(pbVar24), iVar8 == 0)" ( (comma_expression "iVar8 = (*local_c4)(pbVar24), iVar8 == 0" (assignment_expression "iVar8 = (*local_c4)(pbVar24)" identifier = (call_expression "(*local_c4)(pbVar24)" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) (argument_list "(pbVar24)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);" (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x5160))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x5160)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x5160)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x5160)" ( (binary_expression "PTR_LAB_00190bdc + 0x5160" identifier + number_literal) )))) )) (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24)" ( identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c" identifier + number_literal) , identifier ))) ;) (expression_statement "*(undefined1 *)((int)param_1 + 0x11) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x11) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x11)" * (cast_expression "(undefined1 *)((int)param_1 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;) }))) (expression_statement "local_b8 = (code *)*puVar27;" (assignment_expression "local_b8 = (code *)*puVar27" identifier = (cast_expression "(code *)*puVar27" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar27" * identifier))) ;) (expression_statement "pcVar20 = (code *)0xffffffff;" (assignment_expression "pcVar20 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = *(int *)unaff_s1;" (assignment_expression "iVar8 = *(int *)unaff_s1" identifier = (pointer_expression "*(int *)unaff_s1" * (cast_expression "(int *)unaff_s1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_d8 = (code *)0x1;" (assignment_expression "local_d8 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppppppiVar9 = local_c0;" (assignment_expression "ppppppiVar9 = local_c0" identifier = identifier) ;) (labeled_statement "LAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);" statement_identifier : (expression_statement "iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);" (assignment_expression "iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" identifier = (call_expression "(*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" ( identifier , number_literal , identifier , identifier , (subscript_expression "ppppppiVar26[4][(int)local_b4 * 4]" (subscript_expression "ppppppiVar26[4]" identifier [ number_literal ]) [ (binary_expression "(int)local_b4 * 4" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) )))) ;)) (if_statement "if (iVar8 == 1) goto LAB_0010d60c;" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (if_statement "if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (compound_statement "{\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }" { (expression_statement "*(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(local_ec + (int)pcVar20 * 4)" * (cast_expression "(undefined4 *)(local_ec + (int)pcVar20 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_ec + (int)pcVar20 * 4)" ( (binary_expression "local_ec + (int)pcVar20 * 4" identifier + (binary_expression "(int)pcVar20 * 4" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = number_literal) ;) })) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 + 1)" ( (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar27 = puVar27 + 5;" (assignment_expression "puVar27 = puVar27 + 5" identifier = (binary_expression "puVar27 + 5" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)ppppppiVar30 < *param_3)" ( (binary_expression "(int)ppppppiVar30 < *param_3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*param_3" * identifier)) )) ;) }))) (expression_statement "iVar8 = *(int *)(unaff_s1 + 0x38);" (assignment_expression "iVar8 = *(int *)(unaff_s1 + 0x38)" identifier = (pointer_expression "*(int *)(unaff_s1 + 0x38)" * (cast_expression "(int *)(unaff_s1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);" (assignment_expression "local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff)" identifier = (cast_expression "(code *)((uint)(local_d8 + (int)local_a8) & 0xff)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(local_d8 + (int)local_a8) & 0xff)" ( (binary_expression "(uint)(local_d8 + (int)local_a8) & 0xff" (call_expression "(uint)(local_d8 + (int)local_a8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_d8 + (int)local_a8)" ( (binary_expression "local_d8 + (int)local_a8" identifier + (cast_expression "(int)local_a8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal) )))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x3768)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x3768)" ( (binary_expression "PTR_LAB_00190ba4 + -0x3768" identifier + number_literal) )))) ;) (expression_statement "*(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);" (assignment_expression "*(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0)" (pointer_expression "*(uint *)(param_2 + 0x40)" * (cast_expression "(uint *)(param_2 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x40)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) )))) = (unary_expression "-(uint)(iVar8 != 0)" - (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) ))))) ;) (expression_statement "*(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);" (assignment_expression "*(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0)" (pointer_expression "*(uint *)(param_2 + 0x44)" * (cast_expression "(uint *)(param_2 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x44)" ( (binary_expression "param_2 + 0x44" identifier + number_literal) )))) = (unary_expression "-(uint)(iVar8 != 0)" - (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) ))))) ;) (expression_statement "local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);" (assignment_expression "local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec)" identifier = (cast_expression "(int ******)(*pcVar13)(*param_1,unaff_s1,local_ec)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcVar13)(*param_1,unaff_s1,local_ec)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*param_1,unaff_s1,local_ec)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier ))))) ;) (if_statement "if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" if (parenthesized_expression "(param_5 == 5)" ( (binary_expression "param_5 == 5" identifier == number_literal) )) (compound_statement "{\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }" { (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" identifier = (pointer_expression "*(code **)(unaff_s1 + 8)" * (cast_expression "(code **)(unaff_s1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 8)" ( (binary_expression "unaff_s1 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" identifier = number_literal) ;) (if_statement "if (pcVar13 != (code *)0x0) goto LAB_0010da68;" if (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010da68;" goto statement_identifier ;)) }) (else_clause "else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" else (compound_statement "{\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" { (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" identifier = (pointer_expression "*(code **)(unaff_s1 + 8)" * (cast_expression "(code **)(unaff_s1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 8)" ( (binary_expression "unaff_s1 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }" if (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }" { (labeled_statement "LAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);" statement_identifier : (expression_statement "local_e4 = (int ******)(uint)((int)local_c0 < 2);" (assignment_expression "local_e4 = (int ******)(uint)((int)local_c0 < 2)" identifier = (cast_expression "(int ******)(uint)((int)local_c0 < 2)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)((int)local_c0 < 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_c0 < 2)" ( (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x56dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x56dc)" ( (binary_expression "PTR_LAB_00190ba4 + -0x56dc" identifier + number_literal) )))) ;) (expression_statement "pcVar29 = local_a4;" (assignment_expression "pcVar29 = local_a4" identifier = identifier) ;) (do_statement "do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);" do (compound_statement "{\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            }" { (if_statement "if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" if (parenthesized_expression "((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))" ( (binary_expression "(((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)))" (parenthesized_expression "(((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5))" ( (binary_expression "((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)" (parenthesized_expression "((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0))" ( (binary_expression "(local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)" (parenthesized_expression "(local_c4 == (code *)0x0)" ( (binary_expression "local_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_e4 != (int ******)0x0)" ( (binary_expression "local_e4 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) && (parenthesized_expression "(pcVar13 != unaff_s5)" ( (binary_expression "pcVar13 != unaff_s5" identifier != identifier) ))) )) && (parenthesized_expression "((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)))" ( (parenthesized_expression "(*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))" ( (binary_expression "*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)" (binary_expression "*(int *)(pcVar13 + 0x24) == 0" (pointer_expression "*(int *)(pcVar13 + 0x24)" * (cast_expression "(int *)(pcVar13 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x24)" ( (binary_expression "pcVar13 + 0x24" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)" ( (comma_expression "iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0" (assignment_expression "iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" identifier = (call_expression "(*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" ( (pointer_expression "*(int *)(pcVar13 + 0x24)" * (cast_expression "(int *)(pcVar13 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x24)" ( (binary_expression "pcVar13 + 0x24" identifier + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (if_statement "if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }" if (parenthesized_expression "(*(short *)(pcVar13 + 0x32) != 0)" ( (binary_expression "*(short *)(pcVar13 + 0x32) != 0" (pointer_expression "*(short *)(pcVar13 + 0x32)" * (cast_expression "(short *)(pcVar13 + 0x32)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x32)" ( (binary_expression "pcVar13 + 0x32" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }" { (do_statement "do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));" do (compound_statement "{\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  }" { (expression_statement "iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);" (assignment_expression "iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" identifier = (cast_expression "(int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" * (cast_expression "(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 4) + iVar10 * 2)" ( (binary_expression "*(int *)(pcVar13 + 4) + iVar10 * 2" (pointer_expression "*(int *)(pcVar13 + 4)" * (cast_expression "(int *)(pcVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 4)" ( (binary_expression "pcVar13 + 4" identifier + number_literal) )))) + (binary_expression "iVar10 * 2" identifier * number_literal)) )))))) ;) (if_statement "if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }" { (expression_statement "uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);" (assignment_expression "uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" identifier = (call_expression "(*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" ( (pointer_expression "*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" * (cast_expression "(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" ( (binary_expression "*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4" (binary_expression "*(int *)(pcVar13 + 0x28) + iVar10 * 0x14" (pointer_expression "*(int *)(pcVar13 + 0x28)" * (cast_expression "(int *)(pcVar13 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x28)" ( (binary_expression "pcVar13 + 0x28" identifier + number_literal) )))) + (binary_expression "iVar10 * 0x14" identifier * number_literal)) + number_literal) )))) , identifier , identifier )))) ;) }) (else_clause "else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" else (compound_statement "{\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" { (expression_statement "uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;" (assignment_expression "uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f" identifier = (binary_expression "~*(uint *)(local_ec + iVar7 * 4) >> 0x1f" (unary_expression "~*(uint *)(local_ec + iVar7 * 4)" ~ (pointer_expression "*(uint *)(local_ec + iVar7 * 4)" * (cast_expression "(uint *)(local_ec + iVar7 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_ec + iVar7 * 4)" ( (binary_expression "local_ec + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) ))))) >> number_literal)) ;) }))) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (if_statement "if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }" { (expression_statement "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "param_1[0xb] = ppppppiVar30;" (assignment_expression "param_1[0xb] = ppppppiVar30" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);" (assignment_expression "param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" ( (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30" (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(pcVar13 + 0x34)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34)" ( (binary_expression "pcVar13 + 0x34" identifier + number_literal) )))) + (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }" if (parenthesized_expression "((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5))" ( (binary_expression "(param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)" (parenthesized_expression "(param_5 == 0xb)" ( (binary_expression "param_5 == 0xb" identifier == number_literal) )) && (parenthesized_expression "(pcVar13[0x36] == (code)0x5)" ( (binary_expression "pcVar13[0x36] == (code)0x5" (subscript_expression "pcVar13[0x36]" identifier [ number_literal ]) == (cast_expression "(code)0x5" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n                        local_60 = 1;\n                      }" { (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" identifier = number_literal) ;) })) (goto_statement "goto LAB_0010dabc;" goto statement_identifier ;) })) }) while (parenthesized_expression "(iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32))" ( (binary_expression "iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32)" identifier < (binary_expression "(int)(uint)*(ushort *)(pcVar13 + 0x32)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(pcVar13 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x32)" ( (binary_expression "pcVar13 + 0x32" identifier + number_literal) ))))) )) ;) })) (labeled_statement "LAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;" statement_identifier : (expression_statement "ppppppiVar30 = (int ******)0x0;" (assignment_expression "ppppppiVar30 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "local_98[iVar8 + 1] = (code)0x0;" (assignment_expression "local_98[iVar8 + 1] = (code)0x0" (subscript_expression "local_98[iVar8 + 1]" identifier [ (binary_expression "iVar8 + 1" identifier + number_literal) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" else (compound_statement "{\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" { (expression_statement "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "param_1[0xb] = ppppppiVar30;" (assignment_expression "param_1[0xb] = ppppppiVar30" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);" (assignment_expression "param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" ( (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30" (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(pcVar13 + 0x34)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34)" ( (binary_expression "pcVar13 + 0x34" identifier + number_literal) )))) + (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;" statement_identifier : (if_statement "if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;" if (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" ( (binary_expression "ppppppiVar30 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010dac8;" goto statement_identifier ;))) }))) (expression_statement "*(int *******)pcVar29 = ppppppiVar30;" (assignment_expression "*(int *******)pcVar29 = ppppppiVar30" (pointer_expression "*(int *******)pcVar29" * (cast_expression "(int *******)pcVar29" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) = identifier) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = *(code **)(pcVar13 + 0x14);" (assignment_expression "pcVar13 = *(code **)(pcVar13 + 0x14)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x14)" * (cast_expression "(code **)(pcVar13 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x14)" ( (binary_expression "pcVar13 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = pcVar29 + 4;" (assignment_expression "pcVar29 = pcVar29 + 4" identifier = (binary_expression "pcVar29 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar13 != (code *)0x0)" ( (binary_expression "pcVar13 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (local_60 == 0) goto LAB_0010dcb0;" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010dcb0;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);" (call_expression "(*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_98,1,(int)local_90 + 1)" ( identifier , number_literal , (binary_expression "(int)local_90 + 1" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (labeled_statement "LAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];" statement_identifier : (expression_statement "unaff_s7 = (int *******)param_1[2];" (assignment_expression "unaff_s7 = (int *******)param_1[2]" identifier = (cast_expression "(int *******)param_1[2]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;)) (if_statement "if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;" if (parenthesized_expression "((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0))" ( (binary_expression "(unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)" (parenthesized_expression "(unaff_s7 == (int *******)0x0)" ( (binary_expression "unaff_s7 == (int *******)0x0" identifier == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)" ( (comma_expression "unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" identifier = (cast_expression "(int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x1274)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x1274)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x1274)" ( (binary_expression "PTR_LAB_00190bc0 + 0x1274" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))))) , (comma_expression "pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) , (comma_expression "pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pcVar20 = unaff_s1" identifier = identifier) , (comma_expression "pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pcVar29 = unaff_s5" identifier = identifier) , (comma_expression "ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "ppppppiVar30 = unaff_s8" identifier = identifier) , (binary_expression "unaff_s7 == (int *******)0x0" identifier == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))))))) ))) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (if_statement "if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }" if (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }" { (expression_statement "*(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;" (assignment_expression "*(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4" (pointer_expression "*(byte *)((int)unaff_s7 + 0x95)" * (cast_expression "(byte *)((int)unaff_s7 + 0x95)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x95)" ( (binary_expression "(int)unaff_s7 + 0x95" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4" (binary_expression "*(byte *)((int)unaff_s7 + 0x95) & 0xfb" (pointer_expression "*(byte *)((int)unaff_s7 + 0x95)" * (cast_expression "(byte *)((int)unaff_s7 + 0x95)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x95)" ( (binary_expression "(int)unaff_s7 + 0x95" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | number_literal)) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bbc + 0x6508))" ( (pointer_expression "*(code *)(PTR_LAB_00190bbc + 0x6508)" * (cast_expression "(code *)(PTR_LAB_00190bbc + 0x6508)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bbc + 0x6508)" ( (binary_expression "PTR_LAB_00190bbc + 0x6508" identifier + number_literal) )))) )) (argument_list "(param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4)" ( identifier , (binary_expression "local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0" (binary_expression "local_d0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) || (binary_expression "local_c0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) , identifier ))) ;) (if_statement "if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }" if (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) != 0)" ( (binary_expression "*(int *)(unaff_s1 + 0x38) != 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" * (cast_expression "(int *)(unaff_s1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_8c = (code *)0x0;" (assignment_expression "local_8c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_cc = (int ******)0x0;" (assignment_expression "local_cc = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_e4 = (int ******)0x0;" (assignment_expression "local_e4 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_0010dd68;" goto statement_identifier ;) })) (expression_statement "ppppppiVar30 = param_1[0xb];" (assignment_expression "ppppppiVar30 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (expression_statement "local_e4 = (int ******)((int)ppppppiVar30 + 2);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar30 + 2)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 + 2)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 + 2)" ( (binary_expression "(int)ppppppiVar30 + 2" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_ac = (int)ppppppiVar30 + 1;" (assignment_expression "local_ac = (int)ppppppiVar30 + 1" identifier = (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "param_1[0xb] = local_e4;" (assignment_expression "param_1[0xb] = local_e4" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" if (parenthesized_expression "(local_a8 == (code *)0x0)" ( (binary_expression "local_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }" { (if_statement "if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }" if (parenthesized_expression "(local_d0 != (int ******)0x0)" ( (binary_expression "local_d0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }" { (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" identifier = (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" identifier = (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )))) ;) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;) })) (expression_statement "pcVar13 = local_d8;" (assignment_expression "pcVar13 = local_d8" identifier = identifier) ;) (if_statement "if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;" if (parenthesized_expression "(local_c0 == (int ******)0x0)" ( (binary_expression "local_c0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010ef6c;" goto statement_identifier ;)) (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" identifier = (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" identifier = (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )))) ;) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_d8 != (code *)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(local_d8 != (code *)0x0)" ( (binary_expression "local_d8 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) }) (else_clause "else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" else (compound_statement "{\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" { (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" identifier = (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" identifier = (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )))) ;) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_c4 != (code *)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(local_c4 != (code *)0x0)" ( (binary_expression "local_c4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) (if_statement "if (local_d0 != (int ******)0x0) goto LAB_0010dd48;" if (parenthesized_expression "(local_d0 != (int ******)0x0)" ( (binary_expression "local_d0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;)) (expression_statement "local_cc = local_e4;" (assignment_expression "local_cc = local_e4" identifier = identifier) ;) (if_statement "if (local_c0 == (int ******)0x0) goto LAB_0010dd54;" if (parenthesized_expression "(local_c0 == (int ******)0x0)" ( (binary_expression "local_c0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010dd54;" goto statement_identifier ;)) }))) (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" identifier = (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar9 = param_1[0xb];" (assignment_expression "ppppppiVar9 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0010dd48;" goto statement_identifier ;) })) })) })) (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" identifier = identifier) ;) (if_statement "if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }" if (parenthesized_expression "(local_58 != (int *******)0x0)" ( (binary_expression "local_58 != (int *******)0x0" identifier != (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }" { (expression_statement "local_58[0x3b] = local_5c;" (assignment_expression "local_58[0x3b] = local_5c" (subscript_expression "local_58[0x3b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) })) (labeled_statement "LAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x210c)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,param_2)" ( identifier , identifier ))) ;)) (expression_statement "param_1 = unaff_s0;" (assignment_expression "param_1 = unaff_s0" identifier = identifier) ;) (if_statement "if (param_3 != (int *)0x0) goto LAB_0010d64c;" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010d64c;" goto statement_identifier ;)) (do_statement "do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );" do (compound_statement "{\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  }" { (if_statement "if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x47b0)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x47b0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x47b0)" ( (binary_expression "PTR_LAB_00190bb8 + -0x47b0" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,param_4)" ( identifier , identifier ))) ;) })) (if_statement "if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }" if (parenthesized_expression "(local_f8 != 0)" ( (binary_expression "local_f8 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x4644)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x4644)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x4644)" ( (binary_expression "PTR_LAB_00190bb8 + -0x4644" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,local_f8)" ( identifier , identifier ))) ;) })) (if_statement "if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }" if (parenthesized_expression "(local_f4 != 0)" ( (binary_expression "local_f4 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x47b0)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x47b0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x47b0)" ( (binary_expression "PTR_LAB_00190bb8 + -0x47b0" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,local_f4)" ( identifier , identifier ))) ;) })) (if_statement "if (local_2c == *(int *)puVar6) {\n      return;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar6)" ( (binary_expression "local_2c == *(int *)puVar6" identifier == (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();" (assignment_expression "pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)()" identifier = (cast_expression "(code *)(*(code *)PTR___stack_chk_fail_00190df8)()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (labeled_statement "LAB_0010ef6c:\n    ppppppiVar9 = local_e4;" statement_identifier : (expression_statement "ppppppiVar9 = local_e4;" (assignment_expression "ppppppiVar9 = local_e4" identifier = identifier) ;)) (if_statement "if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" if (parenthesized_expression "(pcVar13 == (code *)0x0)" ( (binary_expression "pcVar13 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_94 = 0;\n      local_cc = local_e4;\n    }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = local_e4;" (assignment_expression "local_cc = local_e4" identifier = identifier) ;) }) (else_clause "else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" else (compound_statement "{\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);" statement_identifier : (expression_statement "ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);" (assignment_expression "ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar9 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar9 + 1)" ( (binary_expression "(int)ppppppiVar9 + 1" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_cc = ppppppiVar9;" (assignment_expression "local_cc = ppppppiVar9" identifier = identifier) ;) }))) (labeled_statement "LAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);" statement_identifier : (expression_statement "local_8c = (code *)((int)ppppppiVar9 + 1);" (assignment_expression "local_8c = (code *)((int)ppppppiVar9 + 1)" identifier = (cast_expression "(code *)((int)ppppppiVar9 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar9 + 1)" ( (binary_expression "(int)ppppppiVar9 + 1" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )))) ;) (labeled_statement "LAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" statement_identifier : (if_statement "if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" if (parenthesized_expression "(local_bc != 0)" ( (binary_expression "local_bc != 0" identifier != number_literal) )) (compound_statement "{\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" { (expression_statement "local_5c = param_1[0x3b];" (assignment_expression "local_5c = param_1[0x3b]" identifier = (subscript_expression "param_1[0x3b]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x3b] = *(int *******)unaff_s1;" (assignment_expression "param_1[0x3b] = *(int *******)unaff_s1" (subscript_expression "param_1[0x3b]" identifier [ number_literal ]) = (pointer_expression "*(int *******)unaff_s1" * (cast_expression "(int *******)unaff_s1" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (expression_statement "local_58 = param_1;" (assignment_expression "local_58 = param_1" identifier = identifier) ;) (expression_statement "FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);" (call_expression "FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8)" identifier (argument_list "(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8)" ( identifier , identifier , (pointer_expression "*(int *)(unaff_s1 + 0x48)" * (cast_expression "(int *)(unaff_s1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x48)" ( (binary_expression "unaff_s1 + 0x48" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) }))) (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x6280))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x6280)" * (cast_expression "(code *)(PTR_LAB_00190bdc + 0x6280)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + 0x6280)" ( (binary_expression "PTR_LAB_00190bdc + 0x6280" identifier + number_literal) )))) )) (argument_list "(&local_54,param_4)" ( (pointer_expression "&local_54" & identifier) , identifier )))) ;) (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) ;) (expression_statement "pcVar20 = unaff_s1;" (assignment_expression "pcVar20 = unaff_s1" identifier = identifier) ;) (expression_statement "pcVar29 = unaff_s5;" (assignment_expression "pcVar29 = unaff_s5" identifier = identifier) ;) (expression_statement "ppppppiVar30 = unaff_s8;" (assignment_expression "ppppppiVar30 = unaff_s8" identifier = identifier) ;) (if_statement "if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }" { (if_statement "if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) == 0)" ( (binary_expression "*(int *)(unaff_s1 + 0x38) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" * (cast_expression "(int *)(unaff_s1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }" { (expression_statement "ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);" (assignment_expression "ppppppiVar9 = (int ******)((int)param_1[0xe] - 1)" identifier = (cast_expression "(int ******)((int)param_1[0xe] - 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xe] - 1)" ( (binary_expression "(int)param_1[0xe] - 1" (cast_expression "(int)param_1[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xe]" identifier [ number_literal ])) - number_literal) )))) ;) (expression_statement "param_1[0xe] = ppppppiVar9;" (assignment_expression "param_1[0xe] = ppppppiVar9" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" if (parenthesized_expression "(((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0'))" ( (binary_expression "((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')" (parenthesized_expression "((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0))" ( (binary_expression "(((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)" (parenthesized_expression "(((uint)ppppppiVar26[9] & 0x80) == 0)" ( (binary_expression "((uint)ppppppiVar26[9] & 0x80) == 0" (parenthesized_expression "((uint)ppppppiVar26[9] & 0x80)" ( (binary_expression "(uint)ppppppiVar26[9] & 0x80" (cast_expression "(uint)ppppppiVar26[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppiVar26[9]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) || (parenthesized_expression "(param_1[0x1e] != (int ******)0x0)" ( (binary_expression "param_1[0x1e] != (int ******)0x0" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) || (parenthesized_expression "(*(char *)((int)param_1 + 0x12) != '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x12) != '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }" { (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (if_statement "if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }" if (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }" { (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_0010efcc;" goto statement_identifier ;) })) (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" else (compound_statement "{\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" { (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" identifier = (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s5 + 0x32)" * (cast_expression "(short *)(unaff_s5 + 0x32)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0x32)" ( (binary_expression "unaff_s5 + 0x32" identifier + number_literal) ))))))) ;) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" ( (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }" if (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }" { (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_0010e728;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);" (call_expression "(*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bd0 + 0x6550))" ( (pointer_expression "*(code *)(PTR_LAB_00190bd0 + 0x6550)" * (cast_expression "(code *)(PTR_LAB_00190bd0 + 0x6550)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bd0 + 0x6550)" ( (binary_expression "PTR_LAB_00190bd0 + 0x6550" identifier + number_literal) )))) )) (argument_list "(param_1,param_4,ppppppiVar9,0x10)" ( identifier , identifier , identifier , number_literal ))) ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_a0 = (int ******)0x0;" (assignment_expression "local_a0 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "cVar3 = '\x01';" (assignment_expression "cVar3 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" statement_identifier : (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (labeled_statement "LAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" statement_identifier : (if_statement "if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" if (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" { (if_statement "if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }" if (parenthesized_expression "(cVar3 != '\x02')" ( (binary_expression "cVar3 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_88)" ( identifier ))) ;) (if_statement "if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }" if (parenthesized_expression "(local_bc != 0)" ( (binary_expression "local_bc != 0" identifier != number_literal) )) (compound_statement "{\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }" { (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010e700;" goto statement_identifier ;) })) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010ea7c;" goto statement_identifier ;) })) (if_statement "if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }" { (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0010e5d8;" goto statement_identifier ;) })) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "ppppppiVar30 = param_1[0xe];" (assignment_expression "ppppppiVar30 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);" statement_identifier : (expression_statement "param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);" (assignment_expression "param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U)" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (cast_expression "(int ******)((int)ppppppiVar30 - 1U)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 - 1U)" ( (binary_expression "(int)ppppppiVar30 - 1U" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;)) (expression_statement "local_d4 = (int ******)((int)ppppppiVar30 - 1U);" (assignment_expression "local_d4 = (int ******)((int)ppppppiVar30 - 1U)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 - 1U)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 - 1U)" ( (binary_expression "(int)ppppppiVar30 - 1U" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) (goto_statement "goto LAB_0010e580;" goto statement_identifier ;) }))) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" identifier = identifier) ;) }) (else_clause "else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" else (compound_statement "{\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" { (if_statement "if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }" if (parenthesized_expression "((int)local_b4 < 1)" ( (binary_expression "(int)local_b4 < 1" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }" { (labeled_statement "LAB_0010df38:\n              local_dc = ppppppiVar22;" statement_identifier : (expression_statement "local_dc = ppppppiVar22;" (assignment_expression "local_dc = ppppppiVar22" identifier = identifier) ;)) (if_statement "if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2478)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2478)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2478" identifier + number_literal) )))) )) (argument_list "(*unaff_s7,unaff_s7 + 0x1a,iVar8)" ( (pointer_expression "*unaff_s7" * identifier) , (binary_expression "unaff_s7 + 0x1a" identifier + number_literal) , identifier ))) ;) })) (goto_statement "goto LAB_0010df40;" goto statement_identifier ;) })) (labeled_statement "LAB_0010deb0:\n            iVar10 = 0;" statement_identifier : (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;)) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "ppppppiVar30 = ppppppiVar22;" (assignment_expression "ppppppiVar30 = ppppppiVar22" identifier = identifier) ;) (do_statement "do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);" do (compound_statement "{\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            }" { (expression_statement "psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);" (assignment_expression "psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10)" identifier = (cast_expression "(short *)(*(int *)(unaff_s5 + 4) + iVar10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_s5 + 4) + iVar10)" ( (binary_expression "*(int *)(unaff_s5 + 4) + iVar10" (pointer_expression "*(int *)(unaff_s5 + 4)" * (cast_expression "(int *)(unaff_s5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 4)" ( (binary_expression "unaff_s5 + 4" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);" (call_expression "(*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30)" ( identifier , identifier , identifier , (cast_expression "(int)*psVar19" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*psVar19" * identifier)) , identifier ))) ;) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar30 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar30 + 1)" ( (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_b4 << 1 != iVar10)" ( (binary_expression "(int)local_b4 << 1 != iVar10" (binary_expression "(int)local_b4 << 1" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) != identifier) )) ;) (labeled_statement "LAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;" statement_identifier : (if_statement "if (cVar3 != '\0') goto LAB_0010df38;" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010df38;" goto statement_identifier ;))) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (labeled_statement "LAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);" statement_identifier : (expression_statement "uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);" (assignment_expression "uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x1c4c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x1c4c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x1c4c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x1c4c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x1c4c" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,unaff_s5)" ( identifier , identifier )))) ;)) (expression_statement "uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);" (assignment_expression "uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" identifier = (call_expression "(*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" ( identifier , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + 0x7a3c)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x7a3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x7a3c)" ( (binary_expression "PTR_LAB_00190ba4 + 0x7a3c" identifier + number_literal) )))) )) (argument_list "(unaff_s7,uVar12,uVar21,local_b4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;" if (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010e8dc;" goto statement_identifier ;)) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" identifier = identifier) ;) })))) }) (else_clause "else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" else (compound_statement "{\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" { (if_statement "if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }" if (parenthesized_expression "(local_e8 != (int ******)0x0)" ( (binary_expression "local_e8 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }" { (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) }) (else_clause "else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" else (compound_statement "{\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" { (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" identifier = (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s5 + 0x32)" * (cast_expression "(short *)(unaff_s5 + 0x32)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0x32)" ( (binary_expression "unaff_s5 + 0x32" identifier + number_literal) ))))))) ;) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" ( (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) }))) (goto_statement "goto LAB_0010de50;" goto statement_identifier ;) })) (expression_statement "local_9c = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "local_9c = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_9c;" (assignment_expression "param_1[0xb] = local_9c" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar13)(unaff_s7,0x46,0,local_9c,0);" (call_expression "(*pcVar13)(unaff_s7,0x46,0,local_9c,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x46,0,local_9c,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }" { (expression_statement "(*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_0010efcc:\n            local_dc = (int ******)0x0;" statement_identifier : (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = (int ******)0x0;" (assignment_expression "local_a0 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" else (compound_statement "{\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" { (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" identifier = (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s5 + 0x32)" * (cast_expression "(short *)(unaff_s5 + 0x32)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0x32)" ( (binary_expression "unaff_s5 + 0x32" identifier + number_literal) ))))))) ;) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + 1)" ( (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" identifier = (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" ( (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ])) + (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);" statement_identifier : (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" identifier = (cast_expression "(code *)(puVar5 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x10fc)" ( (binary_expression "puVar5 + 0x10fc" identifier + number_literal) )))) ;)) (expression_statement "local_a0 = param_1[10];" (assignment_expression "local_a0 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "param_1[10] = (int ******)((int)local_a0 + 1);" (assignment_expression "param_1[10] = (int ******)((int)local_a0 + 1)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(int ******)((int)local_a0 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_a0 + 1)" ( (binary_expression "(int)local_a0 + 1" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));" (call_expression "(*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1))" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1))" ( identifier , number_literal , number_literal , identifier , (cast_expression "(code *)((int)ppppppiVar22 + (int)local_b4 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar22 + (int)local_b4 + -1)" ( (binary_expression "(int)ppppppiVar22 + (int)local_b4 + -1" (binary_expression "(int)ppppppiVar22 + (int)local_b4" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) ))) ))) ;) (expression_statement "iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);" (assignment_expression "iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0)" identifier = (call_expression "(*local_f0)(unaff_s7,0x71,local_a0,local_b4,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x71,local_a0,local_b4,0)" ( identifier , number_literal , identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x62dc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x62dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x62dc)" ( (binary_expression "PTR_LAB_00190bc4 + -0x62dc" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s5)" ( identifier , identifier ))) ;) }))) (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" identifier = (cast_expression "(code *)(puVar5 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x10fc)" ( (binary_expression "puVar5 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "uVar21 = 0x1004;" (assignment_expression "uVar21 = 0x1004" identifier = number_literal) ;) (if_statement "if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }" if (parenthesized_expression "(((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0))" ( (binary_expression "((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)" (parenthesized_expression "((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0))" ( (binary_expression "(local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)" (parenthesized_expression "(local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0')" ( (binary_expression "local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0'" (binary_expression "local_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) )) && (parenthesized_expression "(uVar21 = 0x1004, local_d0 == (int ******)0x0)" ( (comma_expression "uVar21 = 0x1004, local_d0 == (int ******)0x0" (assignment_expression "uVar21 = 0x1004" identifier = number_literal) , (binary_expression "local_d0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) && (parenthesized_expression "(uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)" ( (comma_expression "uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0" (assignment_expression "uVar21 = 0x1004" identifier = number_literal) , (binary_expression "local_c0 == (int ******)0x0 && local_60 == 0" (binary_expression "local_c0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) && (binary_expression "local_60 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n            uVar21 = 0x100c;\n          }" { (expression_statement "uVar21 = 0x100c;" (assignment_expression "uVar21 = 0x100c" identifier = number_literal) ;) })) (expression_statement "local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);" (assignment_expression "local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8)" identifier = (call_expression "FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8)" identifier (argument_list "(param_1,param_2,param_4,0,0,uVar21,local_c8)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (local_88 == 0) goto LAB_0010d60c;" if (parenthesized_expression "(local_88 == 0)" ( (binary_expression "local_88 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010d60c;" goto statement_identifier ;)) (expression_statement "local_34 = *(int *******)(local_88 + 0x18);" (assignment_expression "local_34 = *(int *******)(local_88 + 0x18)" identifier = (pointer_expression "*(int *******)(local_88 + 0x18)" * (cast_expression "(int *******)(local_88 + 0x18)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_88 + 0x18)" ( (binary_expression "local_88 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_30 = *(int *******)(local_88 + 0x1c);" (assignment_expression "local_30 = *(int *******)(local_88 + 0x1c)" identifier = (pointer_expression "*(int *******)(local_88 + 0x1c)" * (cast_expression "(int *******)(local_88 + 0x1c)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_88 + 0x1c)" ( (binary_expression "local_88 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "cVar3 = *(char *)(local_88 + 0x31);" (assignment_expression "cVar3 = *(char *)(local_88 + 0x31)" identifier = (pointer_expression "*(char *)(local_88 + 0x31)" * (cast_expression "(char *)(local_88 + 0x31)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_88 + 0x31)" ( (binary_expression "local_88 + 0x31" identifier + number_literal) ))))) ;) (if_statement "if (cVar3 == '\x01') goto LAB_0010de98;" if (parenthesized_expression "(cVar3 == '\x01')" ( (binary_expression "cVar3 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010de98;" goto statement_identifier ;)) (expression_statement "pppppppiVar16 = (int *******)param_1[0x1d];" (assignment_expression "pppppppiVar16 = (int *******)param_1[0x1d]" identifier = (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) (if_statement "if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }" if (parenthesized_expression "((int *******)param_1[0x1d] == (int *******)0x0)" ( (binary_expression "(int *******)param_1[0x1d] == (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            pppppppiVar16 = param_1;\n          }" { (expression_statement "pppppppiVar16 = param_1;" (assignment_expression "pppppppiVar16 = param_1" identifier = identifier) ;) })) (expression_statement "*(undefined1 *)(pppppppiVar16 + 5) = 1;" (assignment_expression "*(undefined1 *)(pppppppiVar16 + 5) = 1" (pointer_expression "*(undefined1 *)(pppppppiVar16 + 5)" * (cast_expression "(undefined1 *)(pppppppiVar16 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppiVar16 + 5)" ( (binary_expression "pppppppiVar16 + 5" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }" if (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }" { (if_statement "if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;" if (parenthesized_expression "((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0))" ( (binary_expression "(((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)" (parenthesized_expression "(((int)local_30 < 0) || (unaff_s8 == local_30))" ( (binary_expression "((int)local_30 < 0) || (unaff_s8 == local_30)" (parenthesized_expression "((int)local_30 < 0)" ( (binary_expression "(int)local_30 < 0" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(unaff_s8 == local_30)" ( (binary_expression "unaff_s8 == local_30" identifier == identifier) ))) )) || (parenthesized_expression "(local_98[(int)local_30 - (int)local_d4] == (code)0x0)" ( (binary_expression "local_98[(int)local_30 - (int)local_d4] == (code)0x0" (subscript_expression "local_98[(int)local_30 - (int)local_d4]" identifier [ (binary_expression "(int)local_30 - (int)local_d4" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_0010de98;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }" { (expression_statement "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (goto_statement "goto LAB_0010e8bc;" goto statement_identifier ;) })) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0 < (int)local_b4) goto LAB_0010deb0;" if (parenthesized_expression "(0 < (int)local_b4)" ( (binary_expression "0 < (int)local_b4" number_literal < (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0010deb0;" goto statement_identifier ;)) (goto_statement "goto LAB_0010ee9c;" goto statement_identifier ;) })) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) != 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }" { (if_statement "if (0 < (int)local_b4) goto LAB_0010deb0;" if (parenthesized_expression "(0 < (int)local_b4)" ( (binary_expression "0 < (int)local_b4" number_literal < (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0010deb0;" goto statement_identifier ;)) (goto_statement "goto LAB_0010df30;" goto statement_identifier ;) })) (expression_statement "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }" { (labeled_statement "LAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);" statement_identifier : (expression_statement "(*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x94,local_ac,local_e4,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x94,local_ac,local_e4,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;)) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (labeled_statement "LAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_88)" ( identifier ))) ;)) (if_statement "if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }" { (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (labeled_statement "LAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" statement_identifier : (if_statement "if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }" { (labeled_statement "LAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);" statement_identifier : (expression_statement "pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);" (assignment_expression "pppppppiVar16 = *(int ********)(unaff_s1 + 0x38)" identifier = (pointer_expression "*(int ********)(unaff_s1 + 0x38)" * (cast_expression "(int ********)(unaff_s1 + 0x38)" ( (type_descriptor "int ********" primitive_type (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) ))))) ;)) (if_statement "if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }" if (parenthesized_expression "(pppppppiVar16 == (int *******)0x0)" ( (binary_expression "pppppppiVar16 == (int *******)0x0" identifier == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }" { (labeled_statement "LAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x64e0)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x64e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x64e0)" ( (binary_expression "PTR_LAB_00190bc4 + 0x64e0" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , number_literal , number_literal ))) ;)) (expression_statement "local_90 = pppppppiVar16;" (assignment_expression "local_90 = pppppppiVar16" identifier = identifier) ;) (goto_statement "goto LAB_0010e680;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" else (compound_statement "{\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" { (labeled_statement "LAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" statement_identifier : (if_statement "if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" if (parenthesized_expression "(-1 < (int)local_34)" ( (binary_expression "-1 < (int)local_34" number_literal < (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" { (expression_statement "local_98[(int)local_34 - (int)local_d4] = (code)0x0;" (assignment_expression "local_98[(int)local_34 - (int)local_d4] = (code)0x0" (subscript_expression "local_98[(int)local_34 - (int)local_d4]" identifier [ (binary_expression "(int)local_34 - (int)local_d4" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }))) (if_statement "if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }" if (parenthesized_expression "(-1 < (int)local_30)" ( (binary_expression "-1 < (int)local_30" number_literal < (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }" { (expression_statement "local_98[(int)local_30 - (int)local_d4] = (code)0x0;" (assignment_expression "local_98[(int)local_30 - (int)local_d4] = (code)0x0" (subscript_expression "local_98[(int)local_30 - (int)local_d4]" identifier [ (binary_expression "(int)local_30 - (int)local_d4" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) (if_statement "if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;" if (parenthesized_expression "((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))" ( (binary_expression "(cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1)" (parenthesized_expression "(cVar3 != '\x02')" ( (binary_expression "cVar3 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1)" ( (binary_expression "(int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1" (binary_expression "(int)local_90 + ((int)~(uint)local_30 >> 0x1f)" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)~(uint)local_30 >> 0x1f)" ( (binary_expression "(int)~(uint)local_30 >> 0x1f" (cast_expression "(int)~(uint)local_30" ( (type_descriptor "int" primitive_type) ) (unary_expression "~(uint)local_30" ~ (cast_expression "(uint)local_30" ( (type_descriptor "uint" type_identifier) ) identifier))) >> number_literal) ))) < number_literal) ))) )) (goto_statement "goto LAB_0010e634;" goto statement_identifier ;)) (expression_statement "pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);" (assignment_expression "pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0)" identifier = (cast_expression "(int *******)(*local_f0)(unaff_s7,0x11,0,0,0)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*local_f0)(unaff_s7,0x11,0,0,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x11,0,0,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))))) ;) (if_statement "if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;" if (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) == 0)" ( (binary_expression "*(int *)(unaff_s1 + 0x38) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" * (cast_expression "(int *)(unaff_s1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x38)" ( (binary_expression "unaff_s1 + 0x38" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0010e640;" goto statement_identifier ;)) (labeled_statement "LAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" statement_identifier : (if_statement "if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" if (parenthesized_expression "(pppppppiVar16 != (int *******)0x0)" ( (binary_expression "pppppppiVar16 != (int *******)0x0" identifier != (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" { (expression_statement "ppppppiVar30 = unaff_s7[0x1b];" (assignment_expression "ppppppiVar30 = unaff_s7[0x1b]" identifier = (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }" if (parenthesized_expression "((int)pppppppiVar16 < 0)" ( (binary_expression "(int)pppppppiVar16 < 0" (cast_expression "(int)pppppppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }" { (expression_statement "pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);" (assignment_expression "pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1)" identifier = (cast_expression "(int *******)((int)ppppppiVar30 + -1)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)ppppppiVar30 + -1)" ( (binary_expression "(int)ppppppiVar30 + -1" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }" { (expression_statement "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;" (assignment_expression "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30" (subscript_expression "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2]" (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ]) [ (binary_expression "(int)pppppppiVar16 * 6 + 2" (binary_expression "(int)pppppppiVar16 * 6" (cast_expression "(int)pppppppiVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]) = (cast_expression "(int *****)ppppppiVar30" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }) (else_clause "else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" else (compound_statement "{\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" { (expression_statement "*(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;" (assignment_expression "*(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30" (pointer_expression "*(int *******)(PTR_DAT_00190948 + 0xfc4)" * (cast_expression "(int *******)(PTR_DAT_00190948 + 0xfc4)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_DAT_00190948 + 0xfc4)" ( (binary_expression "PTR_DAT_00190948 + 0xfc4" identifier + number_literal) )))) = identifier) ;) }))) }))) })))) (if_statement "if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }" { (if_statement "if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }" if (parenthesized_expression "((local_34 != unaff_s8) && (local_30 != unaff_s8))" ( (binary_expression "(local_34 != unaff_s8) && (local_30 != unaff_s8)" (parenthesized_expression "(local_34 != unaff_s8)" ( (binary_expression "local_34 != unaff_s8" identifier != identifier) )) && (parenthesized_expression "(local_30 != unaff_s8)" ( (binary_expression "local_30 != unaff_s8" identifier != identifier) ))) )) (compound_statement "{\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_0010e700;" goto statement_identifier ;) })) }) (else_clause "else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" else (compound_statement "{\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" { (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }" { (labeled_statement "LAB_0010e700:\n              local_d4 = ppppppiVar9;" statement_identifier : (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" identifier = identifier) ;)) (if_statement "if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }" if (parenthesized_expression "(cVar3 != '\x01')" ( (binary_expression "cVar3 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }" { (expression_statement "ppppppiVar30 = param_1[0xe];" (assignment_expression "ppppppiVar30 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0010e570;" goto statement_identifier ;) })) (labeled_statement "LAB_0010e580:\n              ppppppiVar30 = local_e4;" statement_identifier : (expression_statement "ppppppiVar30 = local_e4;" (assignment_expression "ppppppiVar30 = local_e4" identifier = identifier) ;)) (if_statement "if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }" if (parenthesized_expression "(unaff_s5 != (code *)0x0)" ( (binary_expression "unaff_s5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                ppppppiVar30 = local_dc;\n              }" { (expression_statement "ppppppiVar30 = local_dc;" (assignment_expression "ppppppiVar30 = local_dc" identifier = identifier) ;) })) (expression_statement "(*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);" (call_expression "(*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0010df54;" goto statement_identifier ;) })) }))) (if_statement "if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" if (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }" { (expression_statement "local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);" (assignment_expression "local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" identifier = (cast_expression "(int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" ( identifier , number_literal , identifier , identifier , identifier ))))) ;) (expression_statement "(*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);" (call_expression "(*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) }) (else_clause "else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" else (compound_statement "{\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" { (expression_statement "local_d4 = (int ******)((int)param_1[0xe] - 1);" (assignment_expression "local_d4 = (int ******)((int)param_1[0xe] - 1)" identifier = (cast_expression "(int ******)((int)param_1[0xe] - 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_1[0xe] - 1)" ( (binary_expression "(int)param_1[0xe] - 1" (cast_expression "(int)param_1[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0xe]" identifier [ number_literal ])) - number_literal) )))) ;) (expression_statement "param_1[0xe] = local_d4;" (assignment_expression "param_1[0xe] = local_d4" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);" (call_expression "(*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x24,local_a0,ppppppiVar9,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);" (assignment_expression "local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0)" identifier = (call_expression "(*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x7f,local_a0,local_dc,0)" ( identifier , number_literal , identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0)" ( identifier , number_literal , identifier , identifier , identifier , number_literal ))) ;) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) }))) (labeled_statement "LAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" statement_identifier : (if_statement "if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" if (parenthesized_expression "(local_d8 != (code *)0x0)" ( (binary_expression "local_d8 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);" (call_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))" ( (pointer_expression "*(code *)(PTR_LAB_00190c58 + -0x7cdc)" * (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(param_1,local_b8,local_cc)" ( identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0xf,local_cc,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) (if_statement "if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" if (parenthesized_expression "(local_a8 == (code *)0x0)" ( (binary_expression "local_a8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }" { (if_statement "if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }" if (parenthesized_expression "(local_c0 != (int ******)0x0)" ( (binary_expression "local_c0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }" { (labeled_statement "LAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;" statement_identifier : (if_statement "if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;" if (parenthesized_expression "(((uint)(*param_1)[9] & 0x4000) == 0)" ( (binary_expression "((uint)(*param_1)[9] & 0x4000) == 0" (parenthesized_expression "((uint)(*param_1)[9] & 0x4000)" ( (binary_expression "(uint)(*param_1)[9] & 0x4000" (subscript_expression "(uint)(*param_1)[9]" (call_expression "(uint)(*param_1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0010df7c;" goto statement_identifier ;))) (expression_statement "uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);" (assignment_expression "uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x6eb0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x6eb0)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x6eb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x6eb0)" ( (binary_expression "PTR_LAB_00190bc4 + -0x6eb0" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_0010df80;" goto statement_identifier ;) })) (if_statement "if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }" if (parenthesized_expression "(local_d0 != (int ******)0x0)" ( (binary_expression "local_d0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }" { (labeled_statement "LAB_0010df7c:\n            uVar23 = 0;" statement_identifier : (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0010df80;" goto statement_identifier ;) })) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x3b58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x3b58)" ( (binary_expression "PTR_LAB_00190bc8 + -0x3b58" identifier + number_literal) )))) ;) }) (else_clause "else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" else (compound_statement "{\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (if_statement "if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;" if (parenthesized_expression "(local_c0 != (int ******)0x0)" ( (binary_expression "local_c0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0010e4cc;" goto statement_identifier ;)) (labeled_statement "LAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" statement_identifier : (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x3b58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x3b58)" ( (binary_expression "PTR_LAB_00190bc8 + -0x3b58" identifier + number_literal) )))) ;)) (expression_statement "uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);" (assignment_expression "uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" identifier = (call_expression "FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" identifier (argument_list "(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));" do (compound_statement "{\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            }" { (if_statement "if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" if (parenthesized_expression "(((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0))))" ( (binary_expression "((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))" (parenthesized_expression "((uVar23 | uVar11) == 0xffffffff)" ( (binary_expression "(uVar23 | uVar11) == 0xffffffff" (parenthesized_expression "(uVar23 | uVar11)" ( (binary_expression "uVar23 | uVar11" identifier | identifier) )) == number_literal) )) || (parenthesized_expression "((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))" ( (parenthesized_expression "(((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0))" ( (binary_expression "((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)" (parenthesized_expression "((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0))" ( (binary_expression "(int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)" (binary_expression "(int)uVar25 < 0x20" (cast_expression "(int)uVar25" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)" ( (binary_expression "(1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0" (parenthesized_expression "(1 << (uVar25 & 0x1f) & (uVar23 | uVar11))" ( (binary_expression "1 << (uVar25 & 0x1f) & (uVar23 | uVar11)" (binary_expression "1 << (uVar25 & 0x1f)" number_literal << (parenthesized_expression "(uVar25 & 0x1f)" ( (binary_expression "uVar25 & 0x1f" identifier & number_literal) ))) & (parenthesized_expression "(uVar23 | uVar11)" ( (binary_expression "uVar23 | uVar11" identifier | identifier) ))) )) != number_literal) ))) )) || (parenthesized_expression "((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1)" ( (binary_expression "*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1" (pointer_expression "*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" * (cast_expression "(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" ( (binary_expression "*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf" (binary_expression "*(int *)(unaff_s1 + 4) + uVar25 * 0x10" (pointer_expression "*(int *)(unaff_s1 + 4)" * (cast_expression "(int *)(unaff_s1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 4)" ( (binary_expression "unaff_s1 + 4" identifier + number_literal) )))) + (binary_expression "uVar25 * 0x10" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }" { (expression_statement "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);" (call_expression "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25)" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25)" ( identifier , identifier , identifier , identifier , (binary_expression "local_94 + uVar25" identifier + identifier) ))) ;) }) (else_clause "else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" else (compound_statement "{\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" { (expression_statement "(*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);" (call_expression "(*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0)" (parenthesized_expression "(*local_98)" ( (pointer_expression "*local_98" * identifier) )) (argument_list "(unaff_s7,0x49,0,local_94 + uVar25,0)" ( identifier , number_literal , number_literal , (binary_expression "local_94 + uVar25" identifier + identifier) , number_literal ))) ;) }))) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (expression_statement "local_90 = param_1;" (assignment_expression "local_90 = param_1" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)uVar25" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )) ;) })) (if_statement "if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }" if (parenthesized_expression "((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0))" ( (binary_expression "(local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)" (parenthesized_expression "(local_d8 == (code *)0x0)" ( (binary_expression "local_d8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x4e,local_e4,local_cc,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) })) }))) (expression_statement "local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);" (assignment_expression "local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" identifier = (cast_expression "(code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier ))))) ;) (expression_statement "puVar5 = PTR_LAB_00190c58;" (assignment_expression "puVar5 = PTR_LAB_00190c58" identifier = identifier) ;) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "local_f0 = local_ec;" (assignment_expression "local_f0 = local_ec" identifier = identifier) ;) (expression_statement "local_98 = (code *)PTR_LAB_00190c58;" (assignment_expression "local_98 = (code *)PTR_LAB_00190c58" identifier = (cast_expression "(code *)PTR_LAB_00190c58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));" do (compound_statement "{\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          }" { (expression_statement "pcVar20 = local_8c + uVar23;" (assignment_expression "pcVar20 = local_8c + uVar23" identifier = (binary_expression "local_8c + uVar23" identifier + identifier)) ;) (if_statement "if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" if (parenthesized_expression "((int)*(short *)(unaff_s1 + 0x28) == uVar23)" ( (binary_expression "(int)*(short *)(unaff_s1 + 0x28) == uVar23" (cast_expression "(int)*(short *)(unaff_s1 + 0x28)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x28)" * (cast_expression "(short *)(unaff_s1 + 0x28)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x28)" ( (binary_expression "unaff_s1 + 0x28" identifier + number_literal) ))))) == identifier) )) (compound_statement "{\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }" { (labeled_statement "LAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);" statement_identifier : (expression_statement "(*pcVar13)(unaff_s7,0x49,0,pcVar20,0);" (call_expression "(*pcVar13)(unaff_s7,0x49,0,pcVar20,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x49,0,pcVar20,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;)) }) (else_clause "else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" else (if_statement "if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" if (parenthesized_expression "(*(int *)local_f0 < 0)" ( (binary_expression "*(int *)local_f0 < 0" (pointer_expression "*(int *)local_f0" * (cast_expression "(int *)local_f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }" { (if_statement "if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;" if (parenthesized_expression "((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0))" ( (binary_expression "(((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)" (parenthesized_expression "(((local_64 & 1) != 0) && ((int)uVar23 < 0x20))" ( (binary_expression "((local_64 & 1) != 0) && ((int)uVar23 < 0x20)" (parenthesized_expression "((local_64 & 1) != 0)" ( (binary_expression "(local_64 & 1) != 0" (parenthesized_expression "(local_64 & 1)" ( (binary_expression "local_64 & 1" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((int)uVar23 < 0x20)" ( (binary_expression "(int)uVar23 < 0x20" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) && (parenthesized_expression "(((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)" ( (binary_expression "((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0" (parenthesized_expression "((uint)local_b8 >> (uVar23 & 0x1f) & 1)" ( (binary_expression "(uint)local_b8 >> (uVar23 & 0x1f) & 1" (binary_expression "(uint)local_b8 >> (uVar23 & 0x1f)" (cast_expression "(uint)local_b8" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar23 & 0x1f)" ( (binary_expression "uVar23 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0010e30c;" goto statement_identifier ;)) (expression_statement "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);" (call_expression "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20)" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" else (compound_statement "{\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" { (expression_statement "(*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);" (call_expression "(*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20)" (parenthesized_expression "(*(code *)(puVar5 + -0x7cdc))" ( (pointer_expression "*(code *)(puVar5 + -0x7cdc)" * (cast_expression "(code *)(puVar5 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x7cdc)" ( (binary_expression "puVar5 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20)" ( identifier , (subscript_expression "param_3[*(int *)local_f0 * 5 + 1]" identifier [ (binary_expression "*(int *)local_f0 * 5 + 1" (binary_expression "*(int *)local_f0 * 5" (pointer_expression "*(int *)local_f0" * (cast_expression "(int *)local_f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal) + number_literal) ]) , identifier ))) ;) }))))) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "local_f0 = local_f0 + 4;" (assignment_expression "local_f0 = local_f0 + 4" identifier = (binary_expression "local_f0 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a))" ( (binary_expression "(int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) )) ;) })) (if_statement "if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" if (parenthesized_expression "((local_64 & 1) == 0)" ( (binary_expression "(local_64 & 1) == 0" (parenthesized_expression "(local_64 & 1)" ( (binary_expression "local_64 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }" { (expression_statement "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);" (assignment_expression "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x2cec)" ( (binary_expression "PTR_LAB_00190bc8 + -0x2cec" identifier + number_literal) )))) ;) }) (else_clause "else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" else (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x15f0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x15f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x15f0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x15f0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,unaff_s1,local_8c)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);" (assignment_expression "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc8 + -0x2cec)" ( (binary_expression "PTR_LAB_00190bc8 + -0x2cec" identifier + number_literal) )))) ;) (expression_statement "FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);" (call_expression "FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4)" identifier (argument_list "(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4)" ( identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" if (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" ( (binary_expression "PTR_LAB_00190bc0 + 0x13a0" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) }))) (expression_statement "iVar8 = (int)*(short *)(unaff_s1 + 0x2a);" (assignment_expression "iVar8 = (int)*(short *)(unaff_s1 + 0x2a)" identifier = (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) ;) (if_statement "if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }" if (parenthesized_expression "(0 < iVar8)" ( (binary_expression "0 < iVar8" number_literal < identifier) )) (compound_statement "{\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }" { (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" identifier + number_literal) )))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = local_ec;" (assignment_expression "pcVar13 = local_ec" identifier = identifier) ;) (do_statement "do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);" do (compound_statement "{\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            }" { (if_statement "if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }" if (parenthesized_expression "((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10))" ( (binary_expression "(*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)" (parenthesized_expression "(*(int *)pcVar13 < 0)" ( (binary_expression "*(int *)pcVar13 < 0" (pointer_expression "*(int *)pcVar13" * (cast_expression "(int *)pcVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) && (parenthesized_expression "(*(short *)(unaff_s1 + 0x28) != iVar10)" ( (binary_expression "*(short *)(unaff_s1 + 0x28) != iVar10" (pointer_expression "*(short *)(unaff_s1 + 0x28)" * (cast_expression "(short *)(unaff_s1 + 0x28)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x28)" ( (binary_expression "unaff_s1 + 0x28" identifier + number_literal) )))) != identifier) ))) )) (compound_statement "{\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }" { (expression_statement "(*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);" (call_expression "(*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10)" ( identifier , identifier , identifier , identifier , (binary_expression "local_8c + iVar10" identifier + identifier) ))) ;) (expression_statement "iVar8 = (int)*(short *)(unaff_s1 + 0x2a);" (assignment_expression "iVar8 = (int)*(short *)(unaff_s1 + 0x2a)" identifier = (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))))) ;) (expression_statement "local_b8 = pcVar20;" (assignment_expression "local_b8 = pcVar20" identifier = identifier) ;) (expression_statement "local_a8 = pcVar13;" (assignment_expression "local_a8 = pcVar13" identifier = identifier) ;) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = pcVar13 + 4;" (assignment_expression "pcVar13 = pcVar13 + 4" identifier = (binary_expression "pcVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 < iVar8)" ( (binary_expression "iVar10 < iVar8" identifier < identifier) )) ;) })) }))) (if_statement "if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }" { (expression_statement "FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);" (call_expression "FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0)" identifier (argument_list "(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "param_5 & 0xff" identifier & number_literal) , identifier , (pointer_expression "&local_60" & identifier) , identifier , number_literal ))) ;) (if_statement "if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }" if (parenthesized_expression "(local_c0 != (int ******)0x0)" ( (binary_expression "local_c0 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }" { (expression_statement "FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);" (call_expression "FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4)" identifier (argument_list "(param_1,unaff_s1,local_e4,0,local_ec,local_c4)" ( identifier , identifier , identifier , number_literal , identifier , identifier ))) ;) })) (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" identifier = identifier) ;) (if_statement "if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" if (parenthesized_expression "((local_60 == 0) && (local_c4 == (code *)0x0))" ( (binary_expression "(local_60 == 0) && (local_c4 == (code *)0x0)" (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_c4 == (code *)0x0)" ( (binary_expression "local_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }" { (expression_statement "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);" (call_expression "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" identifier (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" ( identifier , identifier , identifier , identifier , identifier , number_literal ))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (if_statement "if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" if (parenthesized_expression "((int)local_c0 < 2)" ( (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" { (expression_statement "uVar21 = 0x44;" (assignment_expression "uVar21 = 0x44" identifier = number_literal) ;) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) }) (else_clause "else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" else (compound_statement "{\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" { (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" identifier = number_literal) ;) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) }))) }) (else_clause "else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" else (compound_statement "{\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" { (if_statement "if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" if (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }" { (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1f,unaff_s8,0,local_e4)" ( identifier , number_literal , identifier , number_literal , identifier )))) ;) }) (else_clause "else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" else (compound_statement "{\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" { (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc)" identifier = (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x1c,unaff_s8,0,local_dc)" ( identifier , number_literal , identifier , number_literal , identifier )))) ;) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }" { (expression_statement "ppppppiVar30 = unaff_s7[0x1a];" (assignment_expression "ppppppiVar30 = unaff_s7[0x1a]" identifier = (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;" (assignment_expression "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd" (pointer_expression "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1)" * (cast_expression "(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar30 + iVar8 * 0x18 + 1)" ( (binary_expression "(int)ppppppiVar30 + iVar8 * 0x18 + 1" (binary_expression "(int)ppppppiVar30 + iVar8 * 0x18" (cast_expression "(int)ppppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar8 * 0x18" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "ppppppiVar30[iVar8 * 6 + 4] = local_b4;" (assignment_expression "ppppppiVar30[iVar8 * 6 + 4] = local_b4" (subscript_expression "ppppppiVar30[iVar8 * 6 + 4]" identifier [ (binary_expression "iVar8 * 6 + 4" (binary_expression "iVar8 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) })) }))) (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" identifier = (cast_expression "(code *)(puVar5 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x10fc)" ( (binary_expression "puVar5 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);" (call_expression "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" identifier (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" ( identifier , identifier , identifier , identifier , identifier , number_literal ))) ;) (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" identifier = number_literal) ;) (if_statement "if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }" if (parenthesized_expression "(((int)local_c0 < 2) && (local_c4 == (code *)0x0))" ( (binary_expression "((int)local_c0 < 2) && (local_c4 == (code *)0x0)" (parenthesized_expression "((int)local_c0 < 2)" ( (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(local_c4 == (code *)0x0)" ( (binary_expression "local_c4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              uVar21 = 0x44;\n            }" { (expression_statement "uVar21 = 0x44;" (assignment_expression "uVar21 = 0x44" identifier = number_literal) ;) })) }))) (expression_statement "(*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);" (call_expression "(*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc)" (parenthesized_expression "(*local_f0)" ( (pointer_expression "*local_f0" * identifier) )) (argument_list "(unaff_s7,0x7b,unaff_s8,uVar21,local_cc)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (if_statement "if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }" if (parenthesized_expression "((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b]))" ( (binary_expression "(cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])" (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" ( (binary_expression "0 < (int)unaff_s7[0x1b]" number_literal < (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }" { (expression_statement "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;" (assignment_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2" (pointer_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" * (cast_expression "(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }" if (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x24d4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x24d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x24d4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x24d4" identifier + number_literal) )))) )) (argument_list "(unaff_s7,unaff_s1,0xfffffffa)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }" if (parenthesized_expression "((local_60 != 0) || (local_c4 != (code *)0x0))" ( (binary_expression "(local_60 != 0) || (local_c4 != (code *)0x0)" (parenthesized_expression "(local_60 != 0)" ( (binary_expression "local_60 != 0" identifier != number_literal) )) || (parenthesized_expression "(local_c4 != (code *)0x0)" ( (binary_expression "local_c4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }" { (if_statement "if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (compound_statement "{\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }" { (expression_statement "iVar8 = (int)unaff_s7[0x1b] + -1;" (assignment_expression "iVar8 = (int)unaff_s7[0x1b] + -1" identifier = (binary_expression "(int)unaff_s7[0x1b] + -1" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) + number_literal)) ;) })) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }" { (expression_statement "ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;" (assignment_expression "ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6" identifier = (binary_expression "unaff_s7[0x1a] + iVar8 * 6" (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ]) + (binary_expression "iVar8 * 6" identifier * number_literal))) ;) }) (else_clause "else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" else (compound_statement "{\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" { (expression_statement "ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);" (assignment_expression "ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc)" identifier = (cast_expression "(int ******)(PTR_DAT_00190948 + 0xfbc)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_DAT_00190948 + 0xfbc)" ( (binary_expression "PTR_DAT_00190948 + 0xfbc" identifier + number_literal) )))) ;) }))) (expression_statement "ppppppiVar30[2] = (int *****)unaff_s7[0x1b];" (assignment_expression "ppppppiVar30[2] = (int *****)unaff_s7[0x1b]" (subscript_expression "ppppppiVar30[2]" identifier [ number_literal ]) = (cast_expression "(int *****)unaff_s7[0x1b]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) ;) })) (if_statement "if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" if (parenthesized_expression "(local_c0 == (int ******)0x0)" ( (binary_expression "local_c0 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }" { (if_statement "if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }" if (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n              uVar21 = 6;\n            }" { (expression_statement "uVar21 = 6;" (assignment_expression "uVar21 = 6" identifier = number_literal) ;) }) (else_clause "else {\n              uVar21 = 4;\n            }" else (compound_statement "{\n              uVar21 = 4;\n            }" { (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" identifier = number_literal) ;) }))) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x2940)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x2940)" ( (binary_expression "PTR_LAB_00190bc0 + 0x2940" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" else (compound_statement "{\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" { (expression_statement "FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);" (call_expression "FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4)" identifier (argument_list "(param_1,unaff_s1,0,local_cc,local_ec,local_c4)" ( identifier , identifier , number_literal , identifier , identifier , identifier ))) ;) (if_statement "if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }" if (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n              uVar21 = 6;\n            }" { (expression_statement "uVar21 = 6;" (assignment_expression "uVar21 = 6" identifier = number_literal) ;) }) (else_clause "else {\n              uVar21 = 4;\n            }" else (compound_statement "{\n              uVar21 = 4;\n            }" { (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" identifier = number_literal) ;) }))) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x2940)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x2940)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x2940)" ( (binary_expression "PTR_LAB_00190bc0 + 0x2940" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , number_literal ))) ;) (if_statement "if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }" if (parenthesized_expression "(((uint)(*param_1)[9] & 0x4000) != 0)" ( (binary_expression "((uint)(*param_1)[9] & 0x4000) != 0" (parenthesized_expression "((uint)(*param_1)[9] & 0x4000)" ( (binary_expression "(uint)(*param_1)[9] & 0x4000" (subscript_expression "(uint)(*param_1)[9]" (call_expression "(uint)(*param_1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }" { (expression_statement "FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);" (call_expression "FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4)" identifier (argument_list "(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) })) }))) })) (if_statement "if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }" if (parenthesized_expression "(local_9c != (int ******)0x0)" ( (binary_expression "local_9c != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x53,local_9c,1,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) })) (expression_statement "ppppppiVar30 = (int ******)0x2;" (assignment_expression "ppppppiVar30 = (int ******)0x2" identifier = (cast_expression "(int ******)0x2" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);" (call_expression "(*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4)" (parenthesized_expression "(*local_d8)" ( (pointer_expression "*local_d8" * identifier) )) (argument_list "(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4)" ( identifier , identifier , number_literal , identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" if (parenthesized_expression "(cVar3 == '\x01')" ( (binary_expression "cVar3 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }" { (labeled_statement "LAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" statement_identifier : (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;)) }) (else_clause "else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" else (if_statement "if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" if (parenthesized_expression "(cVar3 == '\x02')" ( (binary_expression "cVar3 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }" { (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;) (expression_statement "(*pcVar20)(unaff_s7,local_d4);" (call_expression "(*pcVar20)(unaff_s7,local_d4)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s7,local_d4)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_88)" ( identifier ))) ;) }) (else_clause "else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" else (compound_statement "{\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" { (if_statement "if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }" if (parenthesized_expression "(unaff_s5 == (code *)0x0)" ( (binary_expression "unaff_s5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0xb,0,local_d4,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (goto_statement "goto LAB_0010e4b8;" goto statement_identifier ;) })) (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" ( (binary_expression "PTR_LAB_00190bc0 + 0xd78" identifier + number_literal) )))) ;) (expression_statement "(*pcVar20)(unaff_s7,local_d4);" (call_expression "(*pcVar20)(unaff_s7,local_d4)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s7,local_d4)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,5,local_a0,local_ac,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) }))))) (expression_statement "(*pcVar20)(unaff_s7,ppppppiVar9);" (call_expression "(*pcVar20)(unaff_s7,ppppppiVar9)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s7,ppppppiVar9)" ( identifier , identifier ))) ;) (if_statement "if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }" if (parenthesized_expression "((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0))" ( (binary_expression "(((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)" (parenthesized_expression "(((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0))" ( (binary_expression "((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)" (parenthesized_expression "((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0))" ( (binary_expression "(*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)" (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" * (cast_expression "(char *)((int)param_1 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x12)" ( (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1[0x1e] == (int ******)0x0)" ( (binary_expression "param_1[0x1e] == (int ******)0x0" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) && (parenthesized_expression "(local_e8 == (int ******)0x0)" ( (binary_expression "local_e8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) && (parenthesized_expression "(param_1[0x1c] != (int ******)0x0)" ( (binary_expression "param_1[0x1c] != (int ******)0x0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x4d0c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4d0c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4d0c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x4d0c" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) })) (if_statement "if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }" if (parenthesized_expression "(local_9c != (int ******)0x0)" ( (binary_expression "local_9c != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0x51,local_9c,1,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7898))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7898)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7898)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7898)" ( (binary_expression "PTR_LAB_00190ba4 + -0x7898" identifier + number_literal) )))) )) (argument_list "(unaff_s7,1)" ( identifier , number_literal ))) ;) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + -0x2a8)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + -0x2a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + -0x2a8)" ( (binary_expression "PTR_LAB_00190bc0 + -0x2a8" identifier + number_literal) )))) )) (argument_list "(unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0)" ( identifier , number_literal , number_literal , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20" identifier + number_literal) , number_literal ))) ;) })) })) }) (else_clause "else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" else (compound_statement "{\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" { (expression_statement "unaff_s7 = (int *******)param_1[2];" (assignment_expression "unaff_s7 = (int *******)param_1[2]" identifier = (cast_expression "(int *******)param_1[2]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (for_statement "for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }" for ( (assignment_expression "pcVar29 = *(code **)(unaff_s1 + 0x40)" identifier = (pointer_expression "*(code **)(unaff_s1 + 0x40)" * (cast_expression "(code **)(unaff_s1 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 0x40)" ( (binary_expression "unaff_s1 + 0x40" identifier + number_literal) ))))) ; (parenthesized_expression "(pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29))" ( (binary_expression "pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29)" (binary_expression "pcVar29 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(*param_1 != *(int *******)pcVar29)" ( (binary_expression "*param_1 != *(int *******)pcVar29" (pointer_expression "*param_1" * identifier) != (pointer_expression "*(int *******)pcVar29" * (cast_expression "(int *******)pcVar29" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))) )) ; (assignment_expression "pcVar29 = *(code **)(pcVar29 + 0x18)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x18)" * (cast_expression "(code **)(pcVar29 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x18)" ( (binary_expression "pcVar29 + 0x18" identifier + number_literal) ))))) ) (compound_statement "{\n        }" { })) (expression_statement "local_e8 = param_1[10];" (assignment_expression "local_e8 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);" (assignment_expression "ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2)" identifier = (cast_expression "(int ******)(*(short *)(unaff_s1 + 0x2a) + 2)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(short *)(unaff_s1 + 0x2a) + 2)" ( (binary_expression "*(short *)(unaff_s1 + 0x2a) + 2" (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_e4 = *(int *******)(param_2 + 0x30);" (assignment_expression "local_e4 = *(int *******)(param_2 + 0x30)" identifier = (pointer_expression "*(int *******)(param_2 + 0x30)" * (cast_expression "(int *******)(param_2 + 0x30)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "param_1[10] = (int ******)((int)local_e8 + 1);" (assignment_expression "param_1[10] = (int ******)((int)local_e8 + 1)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(int ******)((int)local_e8 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_e8 + 1)" ( (binary_expression "(int)local_e8 + 1" (cast_expression "(int)local_e8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);" (assignment_expression "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" identifier = (cast_expression "(int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x71,local_e8,ppppppiVar9,0)" ( identifier , number_literal , identifier , identifier , number_literal ))))) ;) (expression_statement "ppppppiVar22 = param_1[0xb];" (assignment_expression "ppppppiVar22 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (expression_statement "local_d8 = (code *)((int)ppppppiVar22 + 1);" (assignment_expression "local_d8 = (code *)((int)ppppppiVar22 + 1)" identifier = (cast_expression "(code *)((int)ppppppiVar22 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar22 + 1)" ( (binary_expression "(int)ppppppiVar22 + 1" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);" (assignment_expression "local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" identifier = (cast_expression "(int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" ( (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22 + 2U" (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "param_1[0xb] = local_d0;" (assignment_expression "param_1[0xb] = local_d0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);" (assignment_expression "local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" identifier = (cast_expression "(int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" identifier (argument_list "(param_1,param_2,param_4,0,0,4,0)" ( identifier , identifier , identifier , number_literal , number_literal , number_literal , number_literal ))))) ;) (expression_statement "local_c8 = (int ******)0x0;" (assignment_expression "local_c8 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar30 = ppppppiVar22;" (assignment_expression "ppppppiVar30 = ppppppiVar22" identifier = identifier) ;) (if_statement "if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }" if (parenthesized_expression "(local_d4 != (int ******)0x0)" ( (binary_expression "local_d4 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }" { (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }" if (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" number_literal < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) (compound_statement "{\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }" { (expression_statement "local_c8 = (int ******)((int)ppppppiVar22 + 3);" (assignment_expression "local_c8 = (int ******)((int)ppppppiVar22 + 3)" identifier = (cast_expression "(int ******)((int)ppppppiVar22 + 3)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar22 + 3)" ( (binary_expression "(int)ppppppiVar22 + 3" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);" (assignment_expression "local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc)" identifier = (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar28 = local_ec;" (assignment_expression "pcVar28 = local_ec" identifier = identifier) ;) (do_statement "do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));" do (compound_statement "{\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            }" { (if_statement "if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" if (parenthesized_expression "(*(int *)pcVar28 < 0)" ( (binary_expression "*(int *)pcVar28 < 0" (pointer_expression "*(int *)pcVar28" * (cast_expression "(int *)pcVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) )) (compound_statement "{\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }" { (expression_statement "(*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);" (call_expression "(*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8)" ( identifier , number_literal , identifier , identifier , (binary_expression "(int)local_c8 + iVar8" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ;) (if_statement "if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }" if (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" ( (binary_expression "0 < (int)unaff_s7[0x1b]" number_literal < (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }" { (expression_statement "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;" (assignment_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1" (pointer_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" * (cast_expression "(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" else (compound_statement "{\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" { (expression_statement "(*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);" (call_expression "(*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1])" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) (argument_list "(param_1,param_3[*(int *)pcVar28 * 5 + 1])" ( identifier , (subscript_expression "param_3[*(int *)pcVar28 * 5 + 1]" identifier [ (binary_expression "*(int *)pcVar28 * 5 + 1" (binary_expression "*(int *)pcVar28 * 5" (pointer_expression "*(int *)pcVar28" * (cast_expression "(int *)pcVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal) + number_literal) ]) ))) ;) }))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar28 = pcVar28 + 4;" (assignment_expression "pcVar28 = pcVar28 + 4" identifier = (binary_expression "pcVar28 + 4" identifier + number_literal)) ;) (expression_statement "local_c0 = ppppppiVar26;" (assignment_expression "local_c0 = ppppppiVar26" identifier = identifier) ;) (expression_statement "local_bc = param_4;" (assignment_expression "local_bc = param_4" identifier = identifier) ;) }) while (parenthesized_expression "(iVar8 < *(short *)(unaff_s1 + 0x2a))" ( (binary_expression "iVar8 < *(short *)(unaff_s1 + 0x2a)" identifier < (pointer_expression "*(short *)(unaff_s1 + 0x2a)" * (cast_expression "(short *)(unaff_s1 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2a)" ( (binary_expression "unaff_s1 + 0x2a" identifier + number_literal) ))))) )) ;) })) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" if (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" ( (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" * (cast_expression "(uint *)(unaff_s1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x24)" ( (binary_expression "unaff_s1 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }" { (expression_statement "(*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);" (call_expression "(*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x80,local_e4,local_d8,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" if (parenthesized_expression "(local_b8 == (code *)0x0)" ( (binary_expression "local_b8 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }" { (expression_statement "(*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);" (call_expression "(*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0)" ( identifier , number_literal , identifier , (binary_expression "(int)ppppppiVar22 + 2" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" else (compound_statement "{\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" { (expression_statement "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);" (call_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))" ( (pointer_expression "*(code *)(PTR_LAB_00190c58 + -0x7cdc)" * (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" ( (binary_expression "PTR_LAB_00190c58 + -0x7cdc" identifier + number_literal) )))) )) (argument_list "(param_1,local_b8)" ( identifier , identifier ))) ;) }))) }) (else_clause "else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" else (compound_statement "{\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" { (expression_statement "iVar8 = *(int *)(unaff_s1 + 8);" (assignment_expression "iVar8 = *(int *)(unaff_s1 + 8)" identifier = (pointer_expression "*(int *)(unaff_s1 + 8)" * (cast_expression "(int *)(unaff_s1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 8)" ( (binary_expression "unaff_s1 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }" { (labeled_statement "LAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);" statement_identifier : (expression_statement "pcVar13 = (code *)trap(0);" (assignment_expression "pcVar13 = (code *)trap(0)" identifier = (cast_expression "(code *)trap(0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "trap(0)" identifier (argument_list "(0)" ( number_literal ))))) ;)) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x37);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x37)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x37)" * (cast_expression "(byte *)(iVar8 + 0x37)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x37)" ( (binary_expression "iVar8 + 0x37" identifier + number_literal) ))))) ;) (while_statement "while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }" while (parenthesized_expression "((bVar4 & 0xc0) != 0x80)" ( (binary_expression "(bVar4 & 0xc0) != 0x80" (parenthesized_expression "(bVar4 & 0xc0)" ( (binary_expression "bVar4 & 0xc0" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }" { (expression_statement "iVar8 = *(int *)(iVar8 + 0x14);" (assignment_expression "iVar8 = *(int *)(iVar8 + 0x14)" identifier = (pointer_expression "*(int *)(iVar8 + 0x14)" * (cast_expression "(int *)(iVar8 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) goto LAB_0010f910;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010f910;" goto statement_identifier ;)) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x37);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x37)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x37)" * (cast_expression "(byte *)(iVar8 + 0x37)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x37)" ( (binary_expression "iVar8 + 0x37" identifier + number_literal) ))))) ;) })) (expression_statement "local_c8 = (int ******)(int)**(short **)(iVar8 + 4);" (assignment_expression "local_c8 = (int ******)(int)**(short **)(iVar8 + 4)" identifier = (cast_expression "(int ******)(int)**(short **)(iVar8 + 4)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (cast_expression "(int)**(short **)(iVar8 + 4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "**(short **)(iVar8 + 4)" * (pointer_expression "*(short **)(iVar8 + 4)" * (cast_expression "(short **)(iVar8 + 4)" ( (type_descriptor "short **" (sized_type_specifier "short" short) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) )))))))) ;) (expression_statement "(*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);" (call_expression "(*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0xa4,local_e4,local_c8,local_d8)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;" (call_expression "(*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)" ( identifier , number_literal , (binary_expression "(int)ppppppiVar22 + 3U + (int)local_c8" (binary_expression "(int)ppppppiVar22 + 3U" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)ppppppiVar22 + 2" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) }))) (expression_statement "local_34 = (int ******)local_d4[6];" (assignment_expression "local_34 = (int ******)local_d4[6]" identifier = (cast_expression "(int ******)local_d4[6]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_d4[6]" identifier [ number_literal ]))) ;) (expression_statement "local_30 = (int ******)local_d4[7];" (assignment_expression "local_30 = (int ******)local_d4[7]" identifier = (cast_expression "(int ******)local_d4[7]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_d4[7]" identifier [ number_literal ]))) ;) (expression_statement "ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);" (assignment_expression "ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31)" identifier = (binary_expression "(int ******)(uint)*(byte *)((int)local_d4 + 0x31)" (cast_expression "(int ******)(uint)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)local_d4 + 0x31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_d4 + 0x31)" ( (binary_expression "(int)local_d4 + 0x31" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" if (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" ( (binary_expression "ppppppiVar30 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }" { (expression_statement "pppppppiVar14 = (int *******)param_1[0x1d];" (assignment_expression "pppppppiVar14 = (int *******)param_1[0x1d]" identifier = (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) (if_statement "if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }" if (parenthesized_expression "((int *******)param_1[0x1d] == (int *******)0x0)" ( (binary_expression "(int *******)param_1[0x1d] == (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) == (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n              pppppppiVar14 = param_1;\n            }" { (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) ;) })) (expression_statement "local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" identifier = (cast_expression "(int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" ( (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22 + 1U" (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22" (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "*(undefined1 *)(pppppppiVar14 + 5) = 1;" (assignment_expression "*(undefined1 *)(pppppppiVar14 + 5) = 1" (pointer_expression "*(undefined1 *)(pppppppiVar14 + 5)" * (cast_expression "(undefined1 *)(pppppppiVar14 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppiVar14 + 5)" ( (binary_expression "pppppppiVar14 + 5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);" (call_expression "(*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);" (call_expression "(*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x79,local_e8,local_d0,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);" (call_expression "(*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x7a,local_e8,local_e4,local_d0)" ( identifier , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_d4)" ( identifier ))) ;) (expression_statement "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);" (assignment_expression "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" identifier = (cast_expression "(int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x24,local_e8,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))))) ;) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }" if (parenthesized_expression "(0 < (int)ppppppiVar9)" ( (binary_expression "0 < (int)ppppppiVar9" number_literal < (cast_expression "(int)ppppppiVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }" { (do_statement "do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);" do (compound_statement "{\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              }" { (expression_statement "local_e4 = (int ******)((int)ppppppiVar22 + 1);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar22 + 1)" identifier = (cast_expression "(int ******)((int)ppppppiVar22 + 1)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppiVar22 + 1)" ( (binary_expression "(int)ppppppiVar22 + 1" (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);" (call_expression "(*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22)" ( identifier , number_literal , identifier , identifier , (binary_expression "local_d8 + (int)ppppppiVar22" identifier + (cast_expression "(int)ppppppiVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "ppppppiVar22 = local_e4;" (assignment_expression "ppppppiVar22 = local_e4" identifier = identifier) ;) }) while (parenthesized_expression "(ppppppiVar9 != local_e4)" ( (binary_expression "ppppppiVar9 != local_e4" identifier != identifier) )) ;) })) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2478)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2478)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2478)" ( (binary_expression "PTR_LAB_00190ba4 + -0x2478" identifier + number_literal) )))) )) (argument_list "(*unaff_s7,unaff_s7 + 0x1a,local_e0)" ( (pointer_expression "*unaff_s7" * identifier) , (binary_expression "unaff_s7 + 0x1a" identifier + number_literal) , identifier ))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x75,local_e4,0,0);" (call_expression "(*pcVar13)(unaff_s7,0x75,local_e4,0,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x75,local_e4,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) (expression_statement "pppppppiVar14 = local_e0;" (assignment_expression "pppppppiVar14 = local_e0" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c2c + -0x3f00))" ( (pointer_expression "*(code *)(PTR_LAB_00190c2c + -0x3f00)" * (cast_expression "(code *)(PTR_LAB_00190c2c + -0x3f00)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + -0x3f00)" ( (binary_expression "PTR_LAB_00190c2c + -0x3f00" identifier + number_literal) )))) )) (argument_list "(param_1,unaff_s1)" ( identifier , identifier ))) ;) (expression_statement "uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);" (assignment_expression "uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8)" identifier = (call_expression "(*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,10,0,ppppppiVar9,local_d8)" ( identifier , number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + 0x7a3c)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x7a3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + 0x7a3c)" ( (binary_expression "PTR_LAB_00190ba4 + 0x7a3c" identifier + number_literal) )))) )) (argument_list "(unaff_s7,uVar21,pcVar29,0xfffffff4)" ( identifier , identifier , identifier , number_literal ))) ;) (if_statement "if (param_5 == 0xb) {\n            param_5 = 2;\n          }" if (parenthesized_expression "(param_5 == 0xb)" ( (binary_expression "param_5 == 0xb" identifier == number_literal) )) (compound_statement "{\n            param_5 = 2;\n          }" { (expression_statement "param_5 = 2;" (assignment_expression "param_5 = 2" identifier = number_literal) ;) })) (if_statement "if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }" if (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" ( (binary_expression "0 < (int)unaff_s7[0x1b]" number_literal < (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }" { (expression_statement "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;" (assignment_expression "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5" (pointer_expression "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" * (cast_expression "(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = (cast_expression "(short)param_5" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) })) (if_statement "if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }" if (parenthesized_expression "((int *******)param_1[0x1d] != (int *******)0x0)" ( (binary_expression "(int *******)param_1[0x1d] != (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) != (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            param_1 = (int *******)param_1[0x1d];\n          }" { (expression_statement "param_1 = (int *******)param_1[0x1d];" (assignment_expression "param_1 = (int *******)param_1[0x1d]" identifier = (cast_expression "(int *******)param_1[0x1d]" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) })) (expression_statement "*(undefined1 *)((int)param_1 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x15)" * (cast_expression "(undefined1 *)((int)param_1 + 0x15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x15)" ( (binary_expression "(int)param_1 + 0x15" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" if (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" ( (binary_expression "ppppppiVar30 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }" { (expression_statement "(*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);" (call_expression "(*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,5,local_e8,(int)local_e0 + 1,0)" ( identifier , number_literal , identifier , (binary_expression "(int)local_e0 + 1" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (if_statement "if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }" if (parenthesized_expression "((int)local_e0 < 0)" ( (binary_expression "(int)local_e0 < 0" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }" { (expression_statement "local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);" (assignment_expression "local_e0 = (int *******)((int)unaff_s7[0x1b] + -1)" identifier = (cast_expression "(int *******)((int)unaff_s7[0x1b] + -1)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)unaff_s7[0x1b] + -1)" ( (binary_expression "(int)unaff_s7[0x1b] + -1" (cast_expression "(int)unaff_s7[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ])) + number_literal) )))) ;) })) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" if (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" * (cast_expression "(char *)((int)*unaff_s7 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s7 + 0x51)" ( (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }" { (expression_statement "ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;" (assignment_expression "ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6" identifier = (binary_expression "unaff_s7[0x1a] + (int)local_e0 * 6" (subscript_expression "unaff_s7[0x1a]" identifier [ number_literal ]) + (binary_expression "(int)local_e0 * 6" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) }) (else_clause "else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" else (compound_statement "{\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" { (expression_statement "ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);" (assignment_expression "ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc)" identifier = (cast_expression "(int ******)(PTR_DAT_00190948 + 0xfbc)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_DAT_00190948 + 0xfbc)" ( (binary_expression "PTR_DAT_00190948 + 0xfbc" identifier + number_literal) )))) ;) }))) (expression_statement "ppppppiVar9[2] = (int *****)unaff_s7[0x1b];" (assignment_expression "ppppppiVar9[2] = (int *****)unaff_s7[0x1b]" (subscript_expression "ppppppiVar9[2]" identifier [ number_literal ]) = (cast_expression "(int *****)unaff_s7[0x1b]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "unaff_s7[0x1b]" identifier [ number_literal ]))) ;) (expression_statement "(*pcVar13)(unaff_s7,0x75,local_e8,0,0);" (call_expression "(*pcVar13)(unaff_s7,0x75,local_e8,0,0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(unaff_s7,0x75,local_e8,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" else (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" { (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" ( (binary_expression "PTR_LAB_00190bc4 + 0x592c" identifier + number_literal) )))) )) (argument_list "(local_d4)" ( identifier ))) ;) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" identifier = identifier) ;) }))) })) }))) })) (labeled_statement "LAB_0010d60c:\n    pppppppiVar16 = local_58;" statement_identifier : (expression_statement "pppppppiVar16 = local_58;" (assignment_expression "pppppppiVar16 = local_58" identifier = identifier) ;)) (if_statement "if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }" if (parenthesized_expression "(local_58 != (int *******)0x0)" ( (binary_expression "local_58 != (int *******)0x0" identifier != (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }" { (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" identifier = (cast_expression "(int *******)0x0" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppiVar16[0x3b] = local_5c;" (assignment_expression "pppppppiVar16[0x3b] = local_5c" (subscript_expression "pppppppiVar16[0x3b]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2368)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2368" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,local_ec)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x210c)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,param_2)" ( identifier , identifier ))) ;) (expression_statement "param_1 = pppppppiVar14;" (assignment_expression "param_1 = pppppppiVar14" identifier = identifier) ;) (expression_statement "unaff_s1 = pcVar20;" (assignment_expression "unaff_s1 = pcVar20" identifier = identifier) ;) (expression_statement "unaff_s5 = pcVar29;" (assignment_expression "unaff_s5 = pcVar29" identifier = identifier) ;) (expression_statement "unaff_s8 = ppppppiVar30;" (assignment_expression "unaff_s8 = ppppppiVar30" identifier = identifier) ;) (labeled_statement "LAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))" ( (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x4644)" * (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x4644)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x4644)" ( (binary_expression "PTR_LAB_00190bb8 + -0x4644" identifier + number_literal) )))) )) (argument_list "(ppppppiVar26,param_3)" ( identifier , identifier ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ))) (compound_statement { (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 * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier short) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (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 * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( (pointer_expression * IDENT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( IDENT , IDENT , LIT , IDENT , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (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 , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != 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 IDENT + LIT) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (do_statement do (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (unary_expression ~ (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_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 (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (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 ( IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = 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 < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < 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 *)) ) LIT)) ;) }) (else_clause else (compound_statement { (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 *)) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) )))) ;) (do_statement do (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 , (pointer_expression * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * 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) ) IDENT) + IDENT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ))))) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )))) ;) })))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (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 (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) != IDENT) )) ;) })) (labeled_statement statement_identifier : (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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (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 IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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)) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * IDENT)) )) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (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) ))))) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))))) ;)) (expression_statement (assignment_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) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 IDENT + LIT) )))) != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) >> 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( (binary_expression IDENT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 ( IDENT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( IDENT ))))) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT))))))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & 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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT))) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (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 (subscript_expression IDENT [ LIT ]) = 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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) })) (labeled_statement statement_identifier : (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 ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (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 ( ))))) ;) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = 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 ( (pointer_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 == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (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 , LIT , LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (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 , LIT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (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 ))) ;) (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 IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (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 IDENT + LIT) )))) ;) (goto_statement goto 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 = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) )))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) != IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (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 )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , 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 , IDENT , 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 , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + 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 IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) ))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , 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 ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence '))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) && (binary_expression IDENT == LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , IDENT , 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) })) (labeled_statement statement_identifier : (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 ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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 , LIT , LIT , IDENT , IDENT , LIT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (unary_expression ~ (cast_expression ( (type_descriptor TYPE) ) IDENT))) >> LIT) ))) < LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (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)) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) }))) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , 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 , LIT , IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }))) }))) (labeled_statement statement_identifier : (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , 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 , LIT , IDENT , LIT , LIT ))) ;) }))) (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (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 )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_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 IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (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 + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT | IDENT) )) == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & (parenthesized_expression ( (binary_expression IDENT | IDENT) ))) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT + IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + IDENT) , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , 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 , IDENT , LIT , LIT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (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 , (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) * LIT) + LIT) ]) , IDENT ))) ;) }))))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (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 ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (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 , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT & LIT) , IDENT , (pointer_expression & IDENT) , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) }) (else_clause else (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 IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT , LIT , IDENT )))) ;) }) (else_clause else (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 , LIT , IDENT , LIT , 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)) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = IDENT) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + LIT) )))) = LIT) ;) })) (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) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (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 , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT)) ;) })) (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)) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_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 , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_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 , LIT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (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 , LIT , IDENT , LIT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , IDENT , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (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) )))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 ))) ;) }) (else_clause else (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 , LIT , IDENT , IDENT , LIT ))) ;) }))))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) )) (compound_statement { (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 ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (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 , LIT , 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 , LIT ))) ;) (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)) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (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 , LIT , LIT , (binary_expression IDENT + LIT) , LIT ))) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ))) )) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + LIT) )))) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) * 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , 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 * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) }) (else_clause else (compound_statement { (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 ))) ;) }))) }) (else_clause else (compound_statement { (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 == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (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 == 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 IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + 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 * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , 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 ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT ))) ;) }))) (expression_statement (assignment_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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT , 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 , IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) })) (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)) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) }))) })) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 , 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 , 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) ;) (labeled_statement statement_identifier : (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 ))) ;)) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)\n\n{\n  byte *pbVar1;\n  code cVar2;\n  char cVar3;\n  byte bVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int iVar8;\n  int ******ppppppiVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  code *pcVar13;\n  int *******pppppppiVar14;\n  byte *pbVar15;\n  int *******pppppppiVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  short *psVar19;\n  code *pcVar20;\n  undefined4 uVar21;\n  int ******ppppppiVar22;\n  uint uVar23;\n  byte *pbVar24;\n  int *******unaff_s0;\n  uint uVar25;\n  code *unaff_s1;\n  int ******ppppppiVar26;\n  uint *puVar27;\n  code *pcVar28;\n  code *unaff_s5;\n  code *pcVar29;\n  int *******unaff_s7;\n  int ******unaff_s8;\n  int ******ppppppiVar30;\n  int local_f8;\n  int local_f4;\n  code *local_f0;\n  code *local_ec;\n  int ******local_e8;\n  int ******local_e4;\n  int *******local_e0;\n  int ******local_dc;\n  code *local_d8;\n  int ******local_d4;\n  int ******local_d0;\n  int ******local_cc;\n  int ******local_c8;\n  code *local_c4;\n  int ******local_c0;\n  int local_bc;\n  code *local_b8;\n  int *****local_b4;\n  int local_ac;\n  code *local_a8;\n  code *local_a4;\n  int ******local_a0;\n  int ******local_9c;\n  code *local_98;\n  int local_94;\n  int *******local_90;\n  code *local_8c;\n  int local_88;\n  uint local_64;\n  int local_60;\n  int ******local_5c;\n  int *******local_58;\n  int *******local_54;\n  int local_50;\n  int ******local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int ******local_34;\n  int ******local_30;\n  int local_2c;\n  \n  puVar6 = PTR___stack_chk_guard_00190e24;\n  local_f8 = param_6;\n  ppppppiVar26 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_f4 = param_7;\n  local_60 = 0;\n  local_5c = (int ******)0x0;\n  local_58 = (int *******)0x0;\n  local_e8 = param_8;\n  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;\n  unaff_s1 = (code *)FUN_00109b30();\n  if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = param_1;\n  if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n  param_1 = unaff_s0;\n  if (param_3 != (int *)0x0) goto LAB_0010d64c;\n  do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_0010d418(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)" (identifier "FUN_0010d418") (parameter_list "(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,\n                 int param_7,int ******param_8)" (( "(") (parameter_declaration "int *******param_1" (primitive_type "int") (pointer_declarator "*******param_1" (* "*") (pointer_declarator "******param_1" (* "*") (pointer_declarator "*****param_1" (* "*") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))))))))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) (, ",") (parameter_declaration "int param_7" (primitive_type "int") (identifier "param_7")) (, ",") (parameter_declaration "int ******param_8" (primitive_type "int") (pointer_declarator "******param_8" (* "*") (pointer_declarator "*****param_8" (* "*") (pointer_declarator "****param_8" (* "*") (pointer_declarator "***param_8" (* "*") (pointer_declarator "**param_8" (* "*") (pointer_declarator "*param_8" (* "*") (identifier "param_8")))))))) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  code cVar2;\n  char cVar3;\n  byte bVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int iVar8;\n  int ******ppppppiVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  code *pcVar13;\n  int *******pppppppiVar14;\n  byte *pbVar15;\n  int *******pppppppiVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  short *psVar19;\n  code *pcVar20;\n  undefined4 uVar21;\n  int ******ppppppiVar22;\n  uint uVar23;\n  byte *pbVar24;\n  int *******unaff_s0;\n  uint uVar25;\n  code *unaff_s1;\n  int ******ppppppiVar26;\n  uint *puVar27;\n  code *pcVar28;\n  code *unaff_s5;\n  code *pcVar29;\n  int *******unaff_s7;\n  int ******unaff_s8;\n  int ******ppppppiVar30;\n  int local_f8;\n  int local_f4;\n  code *local_f0;\n  code *local_ec;\n  int ******local_e8;\n  int ******local_e4;\n  int *******local_e0;\n  int ******local_dc;\n  code *local_d8;\n  int ******local_d4;\n  int ******local_d0;\n  int ******local_cc;\n  int ******local_c8;\n  code *local_c4;\n  int ******local_c0;\n  int local_bc;\n  code *local_b8;\n  int *****local_b4;\n  int local_ac;\n  code *local_a8;\n  code *local_a4;\n  int ******local_a0;\n  int ******local_9c;\n  code *local_98;\n  int local_94;\n  int *******local_90;\n  code *local_8c;\n  int local_88;\n  uint local_64;\n  int local_60;\n  int ******local_5c;\n  int *******local_58;\n  int *******local_54;\n  int local_50;\n  int ******local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int ******local_34;\n  int ******local_30;\n  int local_2c;\n  \n  puVar6 = PTR___stack_chk_guard_00190e24;\n  local_f8 = param_6;\n  ppppppiVar26 = *param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  local_f4 = param_7;\n  local_60 = 0;\n  local_5c = (int ******)0x0;\n  local_58 = (int *******)0x0;\n  local_e8 = param_8;\n  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;\n  unaff_s1 = (code *)FUN_00109b30();\n  if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }\n  unaff_s0 = param_1;\n  if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }\nLAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n  param_1 = unaff_s0;\n  if (param_3 != (int *)0x0) goto LAB_0010d64c;\n  do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "code cVar2;" (type_identifier "code") (identifier "cVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int ******ppppppiVar9;" (primitive_type "int") (pointer_declarator "******ppppppiVar9" (* "*") (pointer_declarator "*****ppppppiVar9" (* "*") (pointer_declarator "****ppppppiVar9" (* "*") (pointer_declarator "***ppppppiVar9" (* "*") (pointer_declarator "**ppppppiVar9" (* "*") (pointer_declarator "*ppppppiVar9" (* "*") (identifier "ppppppiVar9"))))))) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "code *pcVar13;" (type_identifier "code") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "int *******pppppppiVar14;" (primitive_type "int") (pointer_declarator "*******pppppppiVar14" (* "*") (pointer_declarator "******pppppppiVar14" (* "*") (pointer_declarator "*****pppppppiVar14" (* "*") (pointer_declarator "****pppppppiVar14" (* "*") (pointer_declarator "***pppppppiVar14" (* "*") (pointer_declarator "**pppppppiVar14" (* "*") (pointer_declarator "*pppppppiVar14" (* "*") (identifier "pppppppiVar14")))))))) (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "int *******pppppppiVar16;" (primitive_type "int") (pointer_declarator "*******pppppppiVar16" (* "*") (pointer_declarator "******pppppppiVar16" (* "*") (pointer_declarator "*****pppppppiVar16" (* "*") (pointer_declarator "****pppppppiVar16" (* "*") (pointer_declarator "***pppppppiVar16" (* "*") (pointer_declarator "**pppppppiVar16" (* "*") (pointer_declarator "*pppppppiVar16" (* "*") (identifier "pppppppiVar16")))))))) (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "undefined4 *puVar18;" (type_identifier "undefined4") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "short *psVar19;" (sized_type_specifier "short" (short "short")) (pointer_declarator "*psVar19" (* "*") (identifier "psVar19")) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "undefined4 uVar21;" (type_identifier "undefined4") (identifier "uVar21") (; ";")) (declaration "int ******ppppppiVar22;" (primitive_type "int") (pointer_declarator "******ppppppiVar22" (* "*") (pointer_declarator "*****ppppppiVar22" (* "*") (pointer_declarator "****ppppppiVar22" (* "*") (pointer_declarator "***ppppppiVar22" (* "*") (pointer_declarator "**ppppppiVar22" (* "*") (pointer_declarator "*ppppppiVar22" (* "*") (identifier "ppppppiVar22"))))))) (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "int *******unaff_s0;" (primitive_type "int") (pointer_declarator "*******unaff_s0" (* "*") (pointer_declarator "******unaff_s0" (* "*") (pointer_declarator "*****unaff_s0" (* "*") (pointer_declarator "****unaff_s0" (* "*") (pointer_declarator "***unaff_s0" (* "*") (pointer_declarator "**unaff_s0" (* "*") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")))))))) (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "code *unaff_s1;" (type_identifier "code") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "int ******ppppppiVar26;" (primitive_type "int") (pointer_declarator "******ppppppiVar26" (* "*") (pointer_declarator "*****ppppppiVar26" (* "*") (pointer_declarator "****ppppppiVar26" (* "*") (pointer_declarator "***ppppppiVar26" (* "*") (pointer_declarator "**ppppppiVar26" (* "*") (pointer_declarator "*ppppppiVar26" (* "*") (identifier "ppppppiVar26"))))))) (; ";")) (declaration "uint *puVar27;" (type_identifier "uint") (pointer_declarator "*puVar27" (* "*") (identifier "puVar27")) (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "code *unaff_s5;" (type_identifier "code") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "code *pcVar29;" (type_identifier "code") (pointer_declarator "*pcVar29" (* "*") (identifier "pcVar29")) (; ";")) (declaration "int *******unaff_s7;" (primitive_type "int") (pointer_declarator "*******unaff_s7" (* "*") (pointer_declarator "******unaff_s7" (* "*") (pointer_declarator "*****unaff_s7" (* "*") (pointer_declarator "****unaff_s7" (* "*") (pointer_declarator "***unaff_s7" (* "*") (pointer_declarator "**unaff_s7" (* "*") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")))))))) (; ";")) (declaration "int ******unaff_s8;" (primitive_type "int") (pointer_declarator "******unaff_s8" (* "*") (pointer_declarator "*****unaff_s8" (* "*") (pointer_declarator "****unaff_s8" (* "*") (pointer_declarator "***unaff_s8" (* "*") (pointer_declarator "**unaff_s8" (* "*") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8"))))))) (; ";")) (declaration "int ******ppppppiVar30;" (primitive_type "int") (pointer_declarator "******ppppppiVar30" (* "*") (pointer_declarator "*****ppppppiVar30" (* "*") (pointer_declarator "****ppppppiVar30" (* "*") (pointer_declarator "***ppppppiVar30" (* "*") (pointer_declarator "**ppppppiVar30" (* "*") (pointer_declarator "*ppppppiVar30" (* "*") (identifier "ppppppiVar30"))))))) (; ";")) (declaration "int local_f8;" (primitive_type "int") (identifier "local_f8") (; ";")) (declaration "int local_f4;" (primitive_type "int") (identifier "local_f4") (; ";")) (declaration "code *local_f0;" (type_identifier "code") (pointer_declarator "*local_f0" (* "*") (identifier "local_f0")) (; ";")) (declaration "code *local_ec;" (type_identifier "code") (pointer_declarator "*local_ec" (* "*") (identifier "local_ec")) (; ";")) (declaration "int ******local_e8;" (primitive_type "int") (pointer_declarator "******local_e8" (* "*") (pointer_declarator "*****local_e8" (* "*") (pointer_declarator "****local_e8" (* "*") (pointer_declarator "***local_e8" (* "*") (pointer_declarator "**local_e8" (* "*") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8"))))))) (; ";")) (declaration "int ******local_e4;" (primitive_type "int") (pointer_declarator "******local_e4" (* "*") (pointer_declarator "*****local_e4" (* "*") (pointer_declarator "****local_e4" (* "*") (pointer_declarator "***local_e4" (* "*") (pointer_declarator "**local_e4" (* "*") (pointer_declarator "*local_e4" (* "*") (identifier "local_e4"))))))) (; ";")) (declaration "int *******local_e0;" (primitive_type "int") (pointer_declarator "*******local_e0" (* "*") (pointer_declarator "******local_e0" (* "*") (pointer_declarator "*****local_e0" (* "*") (pointer_declarator "****local_e0" (* "*") (pointer_declarator "***local_e0" (* "*") (pointer_declarator "**local_e0" (* "*") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0")))))))) (; ";")) (declaration "int ******local_dc;" (primitive_type "int") (pointer_declarator "******local_dc" (* "*") (pointer_declarator "*****local_dc" (* "*") (pointer_declarator "****local_dc" (* "*") (pointer_declarator "***local_dc" (* "*") (pointer_declarator "**local_dc" (* "*") (pointer_declarator "*local_dc" (* "*") (identifier "local_dc"))))))) (; ";")) (declaration "code *local_d8;" (type_identifier "code") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "int ******local_d4;" (primitive_type "int") (pointer_declarator "******local_d4" (* "*") (pointer_declarator "*****local_d4" (* "*") (pointer_declarator "****local_d4" (* "*") (pointer_declarator "***local_d4" (* "*") (pointer_declarator "**local_d4" (* "*") (pointer_declarator "*local_d4" (* "*") (identifier "local_d4"))))))) (; ";")) (declaration "int ******local_d0;" (primitive_type "int") (pointer_declarator "******local_d0" (* "*") (pointer_declarator "*****local_d0" (* "*") (pointer_declarator "****local_d0" (* "*") (pointer_declarator "***local_d0" (* "*") (pointer_declarator "**local_d0" (* "*") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0"))))))) (; ";")) (declaration "int ******local_cc;" (primitive_type "int") (pointer_declarator "******local_cc" (* "*") (pointer_declarator "*****local_cc" (* "*") (pointer_declarator "****local_cc" (* "*") (pointer_declarator "***local_cc" (* "*") (pointer_declarator "**local_cc" (* "*") (pointer_declarator "*local_cc" (* "*") (identifier "local_cc"))))))) (; ";")) (declaration "int ******local_c8;" (primitive_type "int") (pointer_declarator "******local_c8" (* "*") (pointer_declarator "*****local_c8" (* "*") (pointer_declarator "****local_c8" (* "*") (pointer_declarator "***local_c8" (* "*") (pointer_declarator "**local_c8" (* "*") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8"))))))) (; ";")) (declaration "code *local_c4;" (type_identifier "code") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4")) (; ";")) (declaration "int ******local_c0;" (primitive_type "int") (pointer_declarator "******local_c0" (* "*") (pointer_declarator "*****local_c0" (* "*") (pointer_declarator "****local_c0" (* "*") (pointer_declarator "***local_c0" (* "*") (pointer_declarator "**local_c0" (* "*") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0"))))))) (; ";")) (declaration "int local_bc;" (primitive_type "int") (identifier "local_bc") (; ";")) (declaration "code *local_b8;" (type_identifier "code") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8")) (; ";")) (declaration "int *****local_b4;" (primitive_type "int") (pointer_declarator "*****local_b4" (* "*") (pointer_declarator "****local_b4" (* "*") (pointer_declarator "***local_b4" (* "*") (pointer_declarator "**local_b4" (* "*") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4")))))) (; ";")) (declaration "int local_ac;" (primitive_type "int") (identifier "local_ac") (; ";")) (declaration "code *local_a8;" (type_identifier "code") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "code *local_a4;" (type_identifier "code") (pointer_declarator "*local_a4" (* "*") (identifier "local_a4")) (; ";")) (declaration "int ******local_a0;" (primitive_type "int") (pointer_declarator "******local_a0" (* "*") (pointer_declarator "*****local_a0" (* "*") (pointer_declarator "****local_a0" (* "*") (pointer_declarator "***local_a0" (* "*") (pointer_declarator "**local_a0" (* "*") (pointer_declarator "*local_a0" (* "*") (identifier "local_a0"))))))) (; ";")) (declaration "int ******local_9c;" (primitive_type "int") (pointer_declarator "******local_9c" (* "*") (pointer_declarator "*****local_9c" (* "*") (pointer_declarator "****local_9c" (* "*") (pointer_declarator "***local_9c" (* "*") (pointer_declarator "**local_9c" (* "*") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c"))))))) (; ";")) (declaration "code *local_98;" (type_identifier "code") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "int local_94;" (primitive_type "int") (identifier "local_94") (; ";")) (declaration "int *******local_90;" (primitive_type "int") (pointer_declarator "*******local_90" (* "*") (pointer_declarator "******local_90" (* "*") (pointer_declarator "*****local_90" (* "*") (pointer_declarator "****local_90" (* "*") (pointer_declarator "***local_90" (* "*") (pointer_declarator "**local_90" (* "*") (pointer_declarator "*local_90" (* "*") (identifier "local_90")))))))) (; ";")) (declaration "code *local_8c;" (type_identifier "code") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "int local_88;" (primitive_type "int") (identifier "local_88") (; ";")) (declaration "uint local_64;" (type_identifier "uint") (identifier "local_64") (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "int ******local_5c;" (primitive_type "int") (pointer_declarator "******local_5c" (* "*") (pointer_declarator "*****local_5c" (* "*") (pointer_declarator "****local_5c" (* "*") (pointer_declarator "***local_5c" (* "*") (pointer_declarator "**local_5c" (* "*") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c"))))))) (; ";")) (declaration "int *******local_58;" (primitive_type "int") (pointer_declarator "*******local_58" (* "*") (pointer_declarator "******local_58" (* "*") (pointer_declarator "*****local_58" (* "*") (pointer_declarator "****local_58" (* "*") (pointer_declarator "***local_58" (* "*") (pointer_declarator "**local_58" (* "*") (pointer_declarator "*local_58" (* "*") (identifier "local_58")))))))) (; ";")) (declaration "int *******local_54;" (primitive_type "int") (pointer_declarator "*******local_54" (* "*") (pointer_declarator "******local_54" (* "*") (pointer_declarator "*****local_54" (* "*") (pointer_declarator "****local_54" (* "*") (pointer_declarator "***local_54" (* "*") (pointer_declarator "**local_54" (* "*") (pointer_declarator "*local_54" (* "*") (identifier "local_54")))))))) (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "int ******local_4c;" (primitive_type "int") (pointer_declarator "******local_4c" (* "*") (pointer_declarator "*****local_4c" (* "*") (pointer_declarator "****local_4c" (* "*") (pointer_declarator "***local_4c" (* "*") (pointer_declarator "**local_4c" (* "*") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c"))))))) (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "int ******local_34;" (primitive_type "int") (pointer_declarator "******local_34" (* "*") (pointer_declarator "*****local_34" (* "*") (pointer_declarator "****local_34" (* "*") (pointer_declarator "***local_34" (* "*") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34"))))))) (; ";")) (declaration "int ******local_30;" (primitive_type "int") (pointer_declarator "******local_30" (* "*") (pointer_declarator "*****local_30" (* "*") (pointer_declarator "****local_30" (* "*") (pointer_declarator "***local_30" (* "*") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30"))))))) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar6 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar6 = PTR___stack_chk_guard_00190e24" (identifier "puVar6") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "local_f8 = param_6;" (assignment_expression "local_f8 = param_6" (identifier "local_f8") (= "=") (identifier "param_6")) (; ";")) (expression_statement "ppppppiVar26 = *param_1;" (assignment_expression "ppppppiVar26 = *param_1" (identifier "ppppppiVar26") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "local_f4 = param_7;" (assignment_expression "local_f4 = param_7" (identifier "local_f4") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = (int ******)0x0;" (assignment_expression "local_5c = (int ******)0x0" (identifier "local_5c") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" (identifier "local_58") (= "=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e8 = param_8;" (assignment_expression "local_e8 = param_8" (identifier "local_e8") (= "=") (identifier "param_8")) (; ";")) (if_statement "if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))\n  goto LAB_0010d4a8;" (if "if") (parenthesized_expression "((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))" (( "(") (binary_expression "(param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0')" (parenthesized_expression "(param_1[9] != (int ******)0x0)" (( "(") (binary_expression "param_1[9] != (int ******)0x0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)ppppppiVar26 + 0x51) != '\0')" (( "(") (binary_expression "*(char *)((int)ppppppiVar26 + 0x51) != '\0'" (pointer_expression "*(char *)((int)ppppppiVar26 + 0x51)" (* "*") (cast_expression "(char *)((int)ppppppiVar26 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar26 + 0x51)" (( "(") (binary_expression "(int)ppppppiVar26 + 0x51" (cast_expression "(int)ppppppiVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar26")) (+ "+") (number_literal "0x51")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_0010d4a8;" (goto "goto") (statement_identifier "LAB_0010d4a8") (; ";"))) (expression_statement "unaff_s1 = (code *)FUN_00109b30();" (assignment_expression "unaff_s1 = (code *)FUN_00109b30()" (identifier "unaff_s1") (= "=") (cast_expression "(code *)FUN_00109b30()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00109b30()" (identifier "FUN_00109b30") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (unaff_s1 != (code *)0x0) {\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(unaff_s1 != (code *)0x0)" (( "(") (binary_expression "unaff_s1 != (code *)0x0" (identifier "unaff_s1") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }\n    local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);\n    local_bc = *(int *)(unaff_s1 + 0xc);\n    if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = FUN_000f89f8(param_1,unaff_s1);\n    if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }\n  }" ({ "{") (if_statement "if (*(int *)(unaff_s1 + 0x48) == 0) {\n      local_b4 = (int *****)0xfff0bdc0;\n    }\n    else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" (if "if") (parenthesized_expression "(*(int *)(unaff_s1 + 0x48) == 0)" (( "(") (binary_expression "*(int *)(unaff_s1 + 0x48) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x48)" (* "*") (cast_expression "(int *)(unaff_s1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x48)" (( "(") (binary_expression "unaff_s1 + 0x48" (identifier "unaff_s1") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_b4 = (int *****)0xfff0bdc0;\n    }" ({ "{") (expression_statement "local_b4 = (int *****)0xfff0bdc0;" (assignment_expression "local_b4 = (int *****)0xfff0bdc0" (identifier "local_b4") (= "=") (cast_expression "(int *****)0xfff0bdc0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xfff0bdc0"))) (; ";")) (} "}")) (else_clause "else {\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" (else "else") (compound_statement "{\n      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);\n    }" ({ "{") (expression_statement "local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);" (assignment_expression "local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" (identifier "local_b4") (= "=") (cast_expression "(int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x31a4" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x31a4")) () ")")))) () ")")) (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);" (assignment_expression "local_d0 = (int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" (identifier "local_d0") (= "=") (cast_expression "(int ******)\n               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2620))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2620)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2620)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2620)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x2620" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x2620")) () ")")))) () ")")) (argument_list "(param_1,unaff_s1,0x76,param_3,&local_64)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (number_literal "0x76") (, ",") (identifier "param_3") (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) () ")"))))) (; ";")) (expression_statement "local_bc = *(int *)(unaff_s1 + 0xc);" (assignment_expression "local_bc = *(int *)(unaff_s1 + 0xc)" (identifier "local_bc") (= "=") (pointer_expression "*(int *)(unaff_s1 + 0xc)" (* "*") (cast_expression "(int *)(unaff_s1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0xc)" (( "(") (binary_expression "unaff_s1 + 0xc" (identifier "unaff_s1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (local_bc == 0) {\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" (if "if") (parenthesized_expression "(local_bc == 0)" (( "(") (binary_expression "local_bc == 0" (identifier "local_bc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" ({ "{") (expression_statement "param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);" (assignment_expression "param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" (identifier "param_4") (= "=") (call_expression "(*(code *)(PTR_LAB_00190bc4 + -14000))\n                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -14000))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -14000)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + -14000)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + -14000)" (( "(") (binary_expression "PTR_LAB_00190bc4 + -14000" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "-14000")) () ")")))) () ")")) (argument_list "(param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (binary_expression "PTR_LAB_00190958 + 0x6b68" (identifier "PTR_LAB_00190958") (+ "+") (number_literal "0x6b68")) () ")")))) (; ";")) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" (identifier "local_f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" (identifier "local_f8") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar8 = FUN_000f89f8(param_1,unaff_s1);" (assignment_expression "iVar8 = FUN_000f89f8(param_1,unaff_s1)" (identifier "iVar8") (= "=") (call_expression "FUN_000f89f8(param_1,unaff_s1)" (identifier "FUN_000f89f8") (argument_list "(param_1,unaff_s1)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") () ")")))) (; ";")) (if_statement "if ((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )) {\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }" (if "if") (parenthesized_expression "((iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       ))" (( "(") (binary_expression "(iVar8 == 0) &&\n       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )" (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0\n       )" (( "(") (comma_expression "local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0" (assignment_expression "local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64)" (identifier "local_ac") (= "=") (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x73d8))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x73d8)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x73d8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + -0x73d8)" (( "(") (binary_expression "PTR_LAB_00190bc4 + -0x73d8" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "-0x73d8")) () ")")))) () ")")) (argument_list "(param_1,unaff_s1,local_64)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (identifier "local_64") () ")")))) (, ",") (binary_expression "local_ac == 0" (identifier "local_ac") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      local_d4 = param_1[10];\n      local_c8 = (int ******)((int)local_d4 + 1);\n      param_1[10] = local_c8;\n      pcVar13 = *(code **)(unaff_s1 + 8);\n      unaff_s8 = local_d4;\n      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }\n      if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }\n      *(int *******)(param_2 + 0x30) = unaff_s8;\n      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);\n      unaff_s7 = local_90;\n      if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }\n    }" ({ "{") (expression_statement "local_d4 = param_1[10];" (assignment_expression "local_d4 = param_1[10]" (identifier "local_d4") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "local_c8 = (int ******)((int)local_d4 + 1);" (assignment_expression "local_c8 = (int ******)((int)local_d4 + 1)" (identifier "local_c8") (= "=") (cast_expression "(int ******)((int)local_d4 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_d4 + 1)" (( "(") (binary_expression "(int)local_d4 + 1" (cast_expression "(int)local_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d4")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[10] = local_c8;" (assignment_expression "param_1[10] = local_c8" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "local_c8")) (; ";")) (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(unaff_s1 + 8)" (* "*") (cast_expression "(code **)(unaff_s1 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_s1 + 8)" (( "(") (binary_expression "unaff_s1 + 8" (identifier "unaff_s1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "unaff_s8 = local_d4;" (assignment_expression "unaff_s8 = local_d4" (identifier "unaff_s8") (= "=") (identifier "local_d4")) (; ";")) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }\n      else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" (if "if") (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" (( "(") (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" (* "*") (cast_expression "(uint *)(unaff_s1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x24)" (( "(") (binary_expression "unaff_s1 + 0x24" (identifier "unaff_s1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_s5 = (code *)0x0;\n        if (pcVar13 != (code *)0x0) goto LAB_0010d700;\n        local_90 = (int *******)0x0;\n      }" ({ "{") (expression_statement "unaff_s5 = (code *)0x0;" (assignment_expression "unaff_s5 = (code *)0x0" (identifier "unaff_s5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (pcVar13 != (code *)0x0) goto LAB_0010d700;" (if "if") (parenthesized_expression "(pcVar13 != (code *)0x0)" (( "(") (binary_expression "pcVar13 != (code *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010d700;" (goto "goto") (statement_identifier "LAB_0010d700") (; ";"))) (expression_statement "local_90 = (int *******)0x0;" (assignment_expression "local_90 = (int *******)0x0" (identifier "local_90") (= "=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" (else "else") (if_statement "if (pcVar13 == (code *)0x0) {\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }\n      else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" (if "if") (parenthesized_expression "(pcVar13 == (code *)0x0)" (( "(") (binary_expression "pcVar13 == (code *)0x0" (identifier "pcVar13") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        unaff_s5 = (code *)0x0;\n        local_90 = (int *******)0x0;\n      }" ({ "{") (expression_statement "unaff_s5 = (code *)0x0;" (assignment_expression "unaff_s5 = (code *)0x0" (identifier "unaff_s5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_90 = (int *******)0x0;" (assignment_expression "local_90 = (int *******)0x0" (identifier "local_90") (= "=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" (else "else") (compound_statement "{\n        cVar2 = pcVar13[0x37];\n        unaff_s5 = pcVar13;\n        while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }\nLAB_0010d700:\n        ppppppiVar30 = local_c8;\n        do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);\n      }" ({ "{") (expression_statement "cVar2 = pcVar13[0x37];" (assignment_expression "cVar2 = pcVar13[0x37]" (identifier "cVar2") (= "=") (subscript_expression "pcVar13[0x37]" (identifier "pcVar13") ([ "[") (number_literal "0x37") (] "]"))) (; ";")) (expression_statement "unaff_s5 = pcVar13;" (assignment_expression "unaff_s5 = pcVar13" (identifier "unaff_s5") (= "=") (identifier "pcVar13")) (; ";")) (while_statement "while ((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {\n          cVar2 = unaff_s5[0x37];\n        }" (while "while") (parenthesized_expression "((((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)))" (( "(") (parenthesized_expression "(((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))" (( "(") (binary_expression "((byte)cVar2 & 0xc0) != 0x80 &&\n               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)" (binary_expression "((byte)cVar2 & 0xc0) != 0x80" (parenthesized_expression "((byte)cVar2 & 0xc0)" (( "(") (binary_expression "(byte)cVar2 & 0xc0" (cast_expression "(byte)cVar2" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar2")) (& "&") (number_literal "0xc0")) () ")")) (!= "!=") (number_literal "0x80")) (&& "&&") (parenthesized_expression "(unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0)" (( "(") (comma_expression "unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0" (assignment_expression "unaff_s5 = *(code **)(unaff_s5 + 0x14)" (identifier "unaff_s5") (= "=") (pointer_expression "*(code **)(unaff_s5 + 0x14)" (* "*") (cast_expression "(code **)(unaff_s5 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_s5 + 0x14)" (( "(") (binary_expression "unaff_s5 + 0x14" (identifier "unaff_s5") (+ "+") (number_literal "0x14")) () ")"))))) (, ",") (binary_expression "unaff_s5 != (code *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) () ")")) (compound_statement "{\n          cVar2 = unaff_s5[0x37];\n        }" ({ "{") (expression_statement "cVar2 = unaff_s5[0x37];" (assignment_expression "cVar2 = unaff_s5[0x37]" (identifier "cVar2") (= "=") (subscript_expression "unaff_s5[0x37]" (identifier "unaff_s5") ([ "[") (number_literal "0x37") (] "]"))) (; ";")) (} "}"))) (labeled_statement "LAB_0010d700:\n        ppppppiVar30 = local_c8;" (statement_identifier "LAB_0010d700") (: ":") (expression_statement "ppppppiVar30 = local_c8;" (assignment_expression "ppppppiVar30 = local_c8" (identifier "ppppppiVar30") (= "=") (identifier "local_c8")) (; ";"))) (do_statement "do {\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        } while (pcVar13 != (code *)0x0);" (do "do") (compound_statement "{\n          if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }\n          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n          param_1[10] = ppppppiVar30;\n          pcVar13 = *(code **)(pcVar13 + 0x14);\n          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);\n        }" ({ "{") (if_statement "if (unaff_s5 == pcVar13) {\n            unaff_s8 = ppppppiVar30;\n          }" (if "if") (parenthesized_expression "(unaff_s5 == pcVar13)" (( "(") (binary_expression "unaff_s5 == pcVar13" (identifier "unaff_s5") (== "==") (identifier "pcVar13")) () ")")) (compound_statement "{\n            unaff_s8 = ppppppiVar30;\n          }" ({ "{") (expression_statement "unaff_s8 = ppppppiVar30;" (assignment_expression "unaff_s8 = ppppppiVar30" (identifier "unaff_s8") (= "=") (identifier "ppppppiVar30")) (; ";")) (} "}"))) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)((int)ppppppiVar30 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar30 + 1)" (( "(") (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[10] = ppppppiVar30;" (assignment_expression "param_1[10] = ppppppiVar30" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "ppppppiVar30")) (; ";")) (expression_statement "pcVar13 = *(code **)(pcVar13 + 0x14);" (assignment_expression "pcVar13 = *(code **)(pcVar13 + 0x14)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(pcVar13 + 0x14)" (* "*") (cast_expression "(code **)(pcVar13 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0x14)" (( "(") (binary_expression "pcVar13 + 0x14" (identifier "pcVar13") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);" (assignment_expression "local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30)" (identifier "local_90") (= "=") (cast_expression "(int *******)(~(uint)local_d4 + (int)ppppppiVar30)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(~(uint)local_d4 + (int)ppppppiVar30)" (( "(") (binary_expression "~(uint)local_d4 + (int)ppppppiVar30" (unary_expression "~(uint)local_d4" (~ "~") (cast_expression "(uint)local_d4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_d4"))) (+ "+") (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30"))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar13 != (code *)0x0)" (( "(") (binary_expression "pcVar13 != (code *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))))) (if_statement "if (param_8 != (int ******)0x0) {\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }" (if "if") (parenthesized_expression "(param_8 != (int ******)0x0)" (( "(") (binary_expression "param_8 != (int ******)0x0" (identifier "param_8") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        unaff_s8 = (int ******)param_8[7];\n        local_c8 = (int ******)param_8[8];\n        param_1[10] = local_d4;\n      }" ({ "{") (expression_statement "unaff_s8 = (int ******)param_8[7];" (assignment_expression "unaff_s8 = (int ******)param_8[7]" (identifier "unaff_s8") (= "=") (cast_expression "(int ******)param_8[7]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_8[7]" (identifier "param_8") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "local_c8 = (int ******)param_8[8];" (assignment_expression "local_c8 = (int ******)param_8[8]" (identifier "local_c8") (= "=") (cast_expression "(int ******)param_8[8]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_8[8]" (identifier "param_8") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "param_1[10] = local_d4;" (assignment_expression "param_1[10] = local_d4" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "local_d4")) (; ";")) (} "}"))) (expression_statement "*(int *******)(param_2 + 0x30) = unaff_s8;" (assignment_expression "*(int *******)(param_2 + 0x30) = unaff_s8" (pointer_expression "*(int *******)(param_2 + 0x30)" (* "*") (cast_expression "(int *******)(param_2 + 0x30)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(param_2 + 0x30)" (( "(") (binary_expression "param_2 + 0x30" (identifier "param_2") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);" (assignment_expression "local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51)" (identifier "local_a8") (= "=") (binary_expression "(code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51)" (cast_expression "(code *)(uint)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)ppppppiVar26 + 0x51)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar26 + 0x51)" (( "(") (binary_expression "(int)ppppppiVar26 + 0x51" (cast_expression "(int)ppppppiVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar26")) (+ "+") (number_literal "0x51")) () ")"))))) (; ";")) (expression_statement "unaff_s7 = local_90;" (assignment_expression "unaff_s7 = local_90" (identifier "unaff_s7") (= "=") (identifier "local_90")) (; ";")) (if_statement "if ((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)) {\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }" (if "if") (parenthesized_expression "((local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0))" (( "(") (binary_expression "(local_a8 == (code *)0x0) &&\n         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)" (parenthesized_expression "(local_a8 == (code *)0x0)" (( "(") (binary_expression "local_a8 == (code *)0x0" (identifier "local_a8") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0)" (( "(") (comma_expression "local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),\n         local_ec != (code *)0x0" (assignment_expression "local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" (identifier "local_ec") (= "=") (cast_expression "(code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x854))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x854)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x854)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x854)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x854" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x854")) () ")")))) () ")")) (argument_list "(ppppppiVar26)" (( "(") (identifier "ppppppiVar26") () ")"))))) (, ",") (binary_expression "local_ec != (code *)0x0" (identifier "local_ec") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;\n        local_98 = local_a4 + (int)local_90 * 4;\n        (*(code *)PTR_memset_00190d58)(local_98,1);\n        (local_98 + (int)local_90)[1] = (code)0x0;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }\n        local_48 = 0;\n        local_44 = 0;\n        local_4c = param_8;\n        local_40 = 0;\n        local_38 = 0;\n        local_3c = 0x2000000;\n        local_54 = param_1;\n        local_50 = param_2;\n        if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }\n        iVar8 = *(int *)(unaff_s1 + 0x38);\n        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);\n        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);\n        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);\n        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);\n        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);\n        if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }\n        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);\nLAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];\n        if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;\n        if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }\n        (*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);\n        if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }\n        ppppppiVar30 = param_1[0xb];\n        local_e4 = (int ******)((int)ppppppiVar30 + 2);\n        local_ac = (int)ppppppiVar30 + 1;\n        param_1[0xb] = local_e4;\n        if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }\n        local_94 = (int)ppppppiVar30 + 3;\n        ppppppiVar9 = param_1[0xb];\n        goto LAB_0010dd48;\n      }" ({ "{") (expression_statement "local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;" (assignment_expression "local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4" (identifier "local_a4") (= "=") (binary_expression "local_ec + *(short *)(unaff_s1 + 0x2a) * 4" (identifier "local_ec") (+ "+") (binary_expression "*(short *)(unaff_s1 + 0x2a) * 4" (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "local_98 = local_a4 + (int)local_90 * 4;" (assignment_expression "local_98 = local_a4 + (int)local_90 * 4" (identifier "local_98") (= "=") (binary_expression "local_a4 + (int)local_90 * 4" (identifier "local_a4") (+ "+") (binary_expression "(int)local_90 * 4" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "(*(code *)PTR_memset_00190d58)(local_98,1);" (call_expression "(*(code *)PTR_memset_00190d58)(local_98,1)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" (( "(") (pointer_expression "*(code *)PTR_memset_00190d58" (* "*") (cast_expression "(code *)PTR_memset_00190d58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_00190d58"))) () ")")) (argument_list "(local_98,1)" (( "(") (identifier "local_98") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "(local_98 + (int)local_90)[1] = (code)0x0;" (assignment_expression "(local_98 + (int)local_90)[1] = (code)0x0" (subscript_expression "(local_98 + (int)local_90)[1]" (parenthesized_expression "(local_98 + (int)local_90)" (( "(") (binary_expression "local_98 + (int)local_90" (identifier "local_98") (+ "+") (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90"))) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }" (if "if") (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" (number_literal "0") (< "<") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")"))))) () ")")) (compound_statement "{\n          iVar8 = 0;\n          pcVar13 = local_ec;\n          do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n        }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar13 = local_ec;" (assignment_expression "pcVar13 = local_ec" (identifier "pcVar13") (= "=") (identifier "local_ec")) (; ";")) (do_statement "do {\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));" (do "do") (compound_statement "{\n            *(undefined4 *)pcVar13 = 0xffffffff;\n            iVar8 = iVar8 + 1;\n            pcVar13 = pcVar13 + 4;\n          }" ({ "{") (expression_statement "*(undefined4 *)pcVar13 = 0xffffffff;" (assignment_expression "*(undefined4 *)pcVar13 = 0xffffffff" (pointer_expression "*(undefined4 *)pcVar13" (* "*") (cast_expression "(undefined4 *)pcVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar13"))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar13 = pcVar13 + 4;" (assignment_expression "pcVar13 = pcVar13 + 4" (identifier "pcVar13") (= "=") (binary_expression "pcVar13 + 4" (identifier "pcVar13") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 < *(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "iVar8 < *(short *)(unaff_s1 + 0x2a)" (identifier "iVar8") (< "<") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = param_8;" (assignment_expression "local_4c = param_8" (identifier "local_4c") (= "=") (identifier "param_8")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 0x2000000;" (assignment_expression "local_3c = 0x2000000" (identifier "local_3c") (= "=") (number_literal "0x2000000")) (; ";")) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" (identifier "local_54") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_50 = param_2;" (assignment_expression "local_50 = param_2" (identifier "local_50") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (*param_3 < 1) {\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }\n        else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" (if "if") (parenthesized_expression "(*param_3 < 1)" (( "(") (binary_expression "*param_3 < 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          local_d8 = (code *)0x0;\n          local_b8 = (code *)0x0;\n        }" ({ "{") (expression_statement "local_d8 = (code *)0x0;" (assignment_expression "local_d8 = (code *)0x0" (identifier "local_d8") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b8 = (code *)0x0;" (assignment_expression "local_b8 = (code *)0x0" (identifier "local_b8") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" (else "else") (compound_statement "{\n          puVar27 = (uint *)(param_3 + 1);\n          pppppppiVar14 = (int *******)&local_54;\n          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);\n          ppppppiVar30 = (int ******)0x0;\n          local_d8 = (code *)0x0;\n          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);\n          local_b8 = (code *)0x0;\n          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);\n          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);\n          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);\n          do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);\n        }" ({ "{") (expression_statement "puVar27 = (uint *)(param_3 + 1);" (assignment_expression "puVar27 = (uint *)(param_3 + 1)" (identifier "puVar27") (= "=") (cast_expression "(uint *)(param_3 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 1)" (( "(") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppppiVar14 = (int *******)&local_54;" (assignment_expression "pppppppiVar14 = (int *******)&local_54" (identifier "pppppppiVar14") (= "=") (cast_expression "(int *******)&local_54" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_54" (& "&") (identifier "local_54")))) (; ";")) (expression_statement "unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);" (assignment_expression "unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18)" (identifier "unaff_s7") (= "=") (cast_expression "(int *******)(PTR_DAT_00190b94 + -0x3c18)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(PTR_DAT_00190b94 + -0x3c18)" (( "(") (binary_expression "PTR_DAT_00190b94 + -0x3c18" (identifier "PTR_DAT_00190b94") (+ "+") (number_literal "-0x3c18")) () ")")))) (; ";")) (expression_statement "ppppppiVar30 = (int ******)0x0;" (assignment_expression "ppppppiVar30 = (int ******)0x0" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_d8 = (code *)0x0;" (assignment_expression "local_d8 = (code *)0x0" (identifier "local_d8") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);" (assignment_expression "local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280)" (identifier "local_e4") (= "=") (cast_expression "(int ******)(PTR_LAB_00190bdc + 0x6280)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(PTR_LAB_00190bdc + 0x6280)" (( "(") (binary_expression "PTR_LAB_00190bdc + 0x6280" (identifier "PTR_LAB_00190bdc") (+ "+") (number_literal "0x6280")) () ")")))) (; ";")) (expression_statement "local_b8 = (code *)0x0;" (assignment_expression "local_b8 = (code *)0x0" (identifier "local_b8") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);" (assignment_expression "local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c)" (identifier "local_c4") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x4b2c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x4b2c)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x4b2c" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x4b2c")) () ")")))) (; ";")) (expression_statement "local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);" (assignment_expression "local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" (identifier "local_c0") (= "=") (cast_expression "(int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x651c")) () ")")))) (; ";")) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(PTR_LAB_00190bdc + 0x5b90)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bdc + 0x5b90)" (( "(") (binary_expression "PTR_LAB_00190bdc + 0x5b90" (identifier "PTR_LAB_00190bdc") (+ "+") (number_literal "0x5b90")) () ")")))) (; ";")) (do_statement "do {\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          } while ((int)ppppppiVar30 < *param_3);" (do "do") (compound_statement "{\n            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);\n            pcVar29 = unaff_s1;\n            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;\n            pbVar24 = (byte *)puVar27[1];\n            if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }\nLAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }\n            local_b8 = (code *)*puVar27;\n            pcVar20 = (code *)0xffffffff;\n            iVar8 = *(int *)unaff_s1;\n            local_d8 = (code *)0x1;\n            ppppppiVar9 = local_c0;\nLAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);\n            if (iVar8 == 1) goto LAB_0010d60c;\n            if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }\n            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            puVar27 = puVar27 + 5;\n          }" ({ "{") (expression_statement "pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);" (assignment_expression "pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27)" (identifier "pcVar20") (= "=") (cast_expression "(code *)(*(code *)local_e4)(pppppppiVar14,*puVar27)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)local_e4)(pppppppiVar14,*puVar27)" (parenthesized_expression "(*(code *)local_e4)" (( "(") (pointer_expression "*(code *)local_e4" (* "*") (cast_expression "(code *)local_e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_e4"))) () ")")) (argument_list "(pppppppiVar14,*puVar27)" (( "(") (identifier "pppppppiVar14") (, ",") (pointer_expression "*puVar27" (* "*") (identifier "puVar27")) () ")"))))) (; ";")) (expression_statement "pcVar29 = unaff_s1;" (assignment_expression "pcVar29 = unaff_s1" (identifier "pcVar29") (= "=") (identifier "unaff_s1")) (; ";")) (if_statement "if (pcVar20 != (code *)0x0) goto LAB_0010d60c;" (if "if") (parenthesized_expression "(pcVar20 != (code *)0x0)" (( "(") (binary_expression "pcVar20 != (code *)0x0" (identifier "pcVar20") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010d60c;" (goto "goto") (statement_identifier "LAB_0010d60c") (; ";"))) (expression_statement "pbVar24 = (byte *)puVar27[1];" (assignment_expression "pbVar24 = (byte *)puVar27[1]" (identifier "pbVar24") (= "=") (cast_expression "(byte *)puVar27[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar27[1]" (identifier "puVar27") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }" (if "if") (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" (number_literal "0") (< "<") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")"))))) () ")")) (compound_statement "{\n              puVar18 = *(undefined4 **)(unaff_s1 + 4);\n              do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);\n            }" ({ "{") (expression_statement "puVar18 = *(undefined4 **)(unaff_s1 + 4);" (assignment_expression "puVar18 = *(undefined4 **)(unaff_s1 + 4)" (identifier "puVar18") (= "=") (pointer_expression "*(undefined4 **)(unaff_s1 + 4)" (* "*") (cast_expression "(undefined4 **)(unaff_s1 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_s1 + 4)" (( "(") (binary_expression "unaff_s1 + 4" (identifier "unaff_s1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (do_statement "do {\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);" (do "do") (compound_statement "{\n                pbVar15 = (byte *)*puVar18;\n                uVar23 = (uint)*pbVar15;\n                pbVar17 = pbVar24;\n                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }\n                pcVar20 = pcVar20 + 1;\n                puVar18 = puVar18 + 4;\n              }" ({ "{") (expression_statement "pbVar15 = (byte *)*puVar18;" (assignment_expression "pbVar15 = (byte *)*puVar18" (identifier "pbVar15") (= "=") (cast_expression "(byte *)*puVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (; ";")) (expression_statement "uVar23 = (uint)*pbVar15;" (assignment_expression "uVar23 = (uint)*pbVar15" (identifier "uVar23") (= "=") (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar15"))) (; ";")) (expression_statement "pbVar17 = pbVar24;" (assignment_expression "pbVar17 = pbVar24" (identifier "pbVar17") (= "=") (identifier "pbVar24")) (; ";")) (if_statement "if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))\n                {\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }" (if "if") (parenthesized_expression "(*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))" (( "(") (binary_expression "*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24)" (pointer_expression "*(char *)((int)unaff_s7 + uVar23)" (* "*") (cast_expression "(char *)((int)unaff_s7 + uVar23)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + uVar23)" (( "(") (binary_expression "(int)unaff_s7 + uVar23" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (identifier "uVar23")) () ")")))) (== "==") (pointer_expression "*(char *)((int)unaff_s7 + (uint)*pbVar24)" (* "*") (cast_expression "(char *)((int)unaff_s7 + (uint)*pbVar24)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + (uint)*pbVar24)" (( "(") (binary_expression "(int)unaff_s7 + (uint)*pbVar24" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (binary_expression "(uint)*pbVar24" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar24"))) () ")"))))) () ")")) (compound_statement "{\n                  do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));\n                }" ({ "{") (do_statement "do {\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  } while (*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1));" (do "do") (compound_statement "{\n                    if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }\n                    pbVar15 = pbVar15 + 1;\n                    pbVar1 = pbVar17 + 1;\n                    uVar23 = (uint)*pbVar15;\n                    pbVar17 = pbVar17 + 1;\n                  }" ({ "{") (if_statement "if (uVar23 == 0) {\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }" (if "if") (parenthesized_expression "(uVar23 == 0)" (( "(") (binary_expression "uVar23 == 0" (identifier "uVar23") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }\n                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;\n                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }\n                      iVar8 = *(int *)unaff_s1;\n                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);\n                      goto LAB_0010d98c;\n                    }" ({ "{") (if_statement "if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }\n                      else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" (if "if") (parenthesized_expression "(pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28))" (( "(") (binary_expression "pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)" (identifier "pcVar20") (== "==") (cast_expression "(code *)(int)*(short *)(unaff_s1 + 0x28)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)*(short *)(unaff_s1 + 0x28)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x28)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x28)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x28)" (( "(") (binary_expression "unaff_s1 + 0x28" (identifier "unaff_s1") (+ "+") (number_literal "0x28")) () ")"))))))) () ")")) (compound_statement "{\n                        local_b8 = (code *)*puVar27;\n                        local_d8 = (code *)0x1;\n                      }" ({ "{") (expression_statement "local_b8 = (code *)*puVar27;" (assignment_expression "local_b8 = (code *)*puVar27" (identifier "local_b8") (= "=") (cast_expression "(code *)*puVar27" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar27" (* "*") (identifier "puVar27")))) (; ";")) (expression_statement "local_d8 = (code *)0x1;" (assignment_expression "local_d8 = (code *)0x1" (identifier "local_d8") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" (else "else") (if_statement "if ((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" (if "if") (parenthesized_expression "((unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0))" (( "(") (binary_expression "(unaff_s5 != (code *)0x0) &&\n                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)" (parenthesized_expression "(unaff_s5 != (code *)0x0)" (( "(") (binary_expression "unaff_s5 != (code *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar18 + 0xf) & 1) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar18 + 0xf) & 1) != 0" (parenthesized_expression "(*(byte *)((int)puVar18 + 0xf) & 1)" (( "(") (binary_expression "*(byte *)((int)puVar18 + 0xf) & 1" (pointer_expression "*(byte *)((int)puVar18 + 0xf)" (* "*") (cast_expression "(byte *)((int)puVar18 + 0xf)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 0xf)" (( "(") (binary_expression "(int)puVar18 + 0xf" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xf")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);\n                      }" ({ "{") (expression_statement "local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);" (assignment_expression "local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1)" (identifier "local_a8") (= "=") (cast_expression "(code *)(*(byte *)((int)puVar18 + 0xf) & 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(byte *)((int)puVar18 + 0xf) & 1)" (( "(") (binary_expression "*(byte *)((int)puVar18 + 0xf) & 1" (pointer_expression "*(byte *)((int)puVar18 + 0xf)" (* "*") (cast_expression "(byte *)((int)puVar18 + 0xf)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 0xf)" (( "(") (binary_expression "(int)puVar18 + 0xf" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xf")) () ")")))) (& "&") (number_literal "1")) () ")")))) (; ";")) (} "}"))))) (expression_statement "*(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;" (assignment_expression "*(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30" (pointer_expression "*(int *******)(local_ec + (int)pcVar20 * 4)" (* "*") (cast_expression "(int *******)(local_ec + (int)pcVar20 * 4)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ec + (int)pcVar20 * 4)" (( "(") (binary_expression "local_ec + (int)pcVar20 * 4" (identifier "local_ec") (+ "+") (binary_expression "(int)pcVar20 * 4" (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "ppppppiVar30")) (; ";")) (if_statement "if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }" (if "if") (parenthesized_expression "((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20)" (( "(") (binary_expression "(int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20" (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")"))))) (<= "<=") (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20"))) () ")")) (compound_statement "{\n                        pbVar24 = (byte *)puVar27[1];\n                        goto LAB_0010d954;\n                      }" ({ "{") (expression_statement "pbVar24 = (byte *)puVar27[1];" (assignment_expression "pbVar24 = (byte *)puVar27[1]" (identifier "pbVar24") (= "=") (cast_expression "(byte *)puVar27[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar27[1]" (identifier "puVar27") ([ "[") (number_literal "1") (] "]")))) (; ";")) (goto_statement "goto LAB_0010d954;" (goto "goto") (statement_identifier "LAB_0010d954") (; ";")) (} "}"))) (expression_statement "iVar8 = *(int *)unaff_s1;" (assignment_expression "iVar8 = *(int *)unaff_s1" (identifier "iVar8") (= "=") (pointer_expression "*(int *)unaff_s1" (* "*") (cast_expression "(int *)unaff_s1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s1")))) (; ";")) (expression_statement "ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);" (assignment_expression "ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" (identifier "ppppppiVar9") (= "=") (pointer_expression "*(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" (* "*") (cast_expression "(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10)" (( "(") (binary_expression "*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10" (pointer_expression "*(int *)(unaff_s1 + 4)" (* "*") (cast_expression "(int *)(unaff_s1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 4)" (( "(") (binary_expression "unaff_s1 + 4" (identifier "unaff_s1") (+ "+") (number_literal "4")) () ")")))) (+ "+") (binary_expression "(int)pcVar20 * 0x10" (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20")) (* "*") (number_literal "0x10"))) () ")"))))) (; ";")) (goto_statement "goto LAB_0010d98c;" (goto "goto") (statement_identifier "LAB_0010d98c") (; ";")) (} "}"))) (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + 1" (identifier "pbVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar1 = pbVar17 + 1;" (assignment_expression "pbVar1 = pbVar17 + 1" (identifier "pbVar1") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar23 = (uint)*pbVar15;" (assignment_expression "uVar23 = (uint)*pbVar15" (identifier "uVar23") (= "=") (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar15"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1))" (( "(") (binary_expression "*(char *)((int)unaff_s7 + uVar23) ==\n                           *(char *)((int)unaff_s7 + (uint)*pbVar1)" (pointer_expression "*(char *)((int)unaff_s7 + uVar23)" (* "*") (cast_expression "(char *)((int)unaff_s7 + uVar23)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + uVar23)" (( "(") (binary_expression "(int)unaff_s7 + uVar23" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (identifier "uVar23")) () ")")))) (== "==") (pointer_expression "*(char *)((int)unaff_s7 + (uint)*pbVar1)" (* "*") (cast_expression "(char *)((int)unaff_s7 + (uint)*pbVar1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + (uint)*pbVar1)" (( "(") (binary_expression "(int)unaff_s7 + (uint)*pbVar1" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar1"))) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" (identifier "pcVar20") (= "=") (binary_expression "pcVar20 + 1" (identifier "pcVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar18 = puVar18 + 4;" (assignment_expression "puVar18 = puVar18 + 4" (identifier "puVar18") (= "=") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20)" (( "(") (binary_expression "(code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20" (cast_expression "(code *)(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) (!= "!=") (identifier "pcVar20")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0010d954:\n            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" (statement_identifier "LAB_0010d954") (: ":") (if_statement "if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" (if "if") (parenthesized_expression "((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0))" (( "(") (binary_expression "(unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)" (parenthesized_expression "(unaff_s5 != (code *)0x0)" (( "(") (binary_expression "unaff_s5 != (code *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar8 = (*local_c4)(pbVar24), iVar8 == 0)" (( "(") (comma_expression "iVar8 = (*local_c4)(pbVar24), iVar8 == 0" (assignment_expression "iVar8 = (*local_c4)(pbVar24)" (identifier "iVar8") (= "=") (call_expression "(*local_c4)(pbVar24)" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) (argument_list "(pbVar24)" (( "(") (identifier "pbVar24") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              (*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);\n              *(undefined1 *)((int)param_1 + 0x11) = 1;\n              pppppppiVar14 = param_1;\n              goto LAB_0010d60c;\n            }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);" (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x5160))\n                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x5160))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x5160)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bdc + 0x5160)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bdc + 0x5160)" (( "(") (binary_expression "PTR_LAB_00190bdc + 0x5160" (identifier "PTR_LAB_00190bdc") (+ "+") (number_literal "0x5160")) () ")")))) () ")")) (argument_list "(param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x4c3c")) (, ",") (identifier "pbVar24") () ")"))) (; ";")) (expression_statement "*(undefined1 *)((int)param_1 + 0x11) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x11) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x11)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x11)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x11)" (( "(") (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" (identifier "pppppppiVar14") (= "=") (identifier "param_1")) (; ";")) (goto_statement "goto LAB_0010d60c;" (goto "goto") (statement_identifier "LAB_0010d60c") (; ";")) (} "}")))) (expression_statement "local_b8 = (code *)*puVar27;" (assignment_expression "local_b8 = (code *)*puVar27" (identifier "local_b8") (= "=") (cast_expression "(code *)*puVar27" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar27" (* "*") (identifier "puVar27")))) (; ";")) (expression_statement "pcVar20 = (code *)0xffffffff;" (assignment_expression "pcVar20 = (code *)0xffffffff" (identifier "pcVar20") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "iVar8 = *(int *)unaff_s1;" (assignment_expression "iVar8 = *(int *)unaff_s1" (identifier "iVar8") (= "=") (pointer_expression "*(int *)unaff_s1" (* "*") (cast_expression "(int *)unaff_s1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s1")))) (; ";")) (expression_statement "local_d8 = (code *)0x1;" (assignment_expression "local_d8 = (code *)0x1" (identifier "local_d8") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppppppiVar9 = local_c0;" (assignment_expression "ppppppiVar9 = local_c0" (identifier "ppppppiVar9") (= "=") (identifier "local_c0")) (; ";")) (labeled_statement "LAB_0010d98c:\n            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);" (statement_identifier "LAB_0010d98c") (: ":") (expression_statement "iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);" (assignment_expression "iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" (identifier "iVar8") (= "=") (call_expression "(*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4])" (( "(") (identifier "param_1") (, ",") (number_literal "0x17") (, ",") (identifier "iVar8") (, ",") (identifier "ppppppiVar9") (, ",") (subscript_expression "ppppppiVar26[4][(int)local_b4 * 4]" (subscript_expression "ppppppiVar26[4]" (identifier "ppppppiVar26") ([ "[") (number_literal "4") (] "]")) ([ "[") (binary_expression "(int)local_b4 * 4" (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4")) (* "*") (number_literal "4")) (] "]")) () ")")))) (; ";"))) (if_statement "if (iVar8 == 1) goto LAB_0010d60c;" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0010d60c;" (goto "goto") (statement_identifier "LAB_0010d60c") (; ";"))) (if_statement "if (iVar8 == 2) {\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }" (if "if") (parenthesized_expression "(iVar8 == 2)" (( "(") (binary_expression "iVar8 == 2" (identifier "iVar8") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;\n            }" ({ "{") (expression_statement "*(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(local_ec + (int)pcVar20 * 4)" (* "*") (cast_expression "(undefined4 *)(local_ec + (int)pcVar20 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_ec + (int)pcVar20 * 4)" (( "(") (binary_expression "local_ec + (int)pcVar20 * 4" (identifier "local_ec") (+ "+") (binary_expression "(int)pcVar20 * 4" (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20")) (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}"))) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)((int)ppppppiVar30 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar30 + 1)" (( "(") (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar27 = puVar27 + 5;" (assignment_expression "puVar27 = puVar27 + 5" (identifier "puVar27") (= "=") (binary_expression "puVar27 + 5" (identifier "puVar27") (+ "+") (number_literal "5"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)ppppppiVar30 < *param_3)" (( "(") (binary_expression "(int)ppppppiVar30 < *param_3" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (< "<") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) () ")")) (; ";")) (} "}")))) (expression_statement "iVar8 = *(int *)(unaff_s1 + 0x38);" (assignment_expression "iVar8 = *(int *)(unaff_s1 + 0x38)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(unaff_s1 + 0x38)" (* "*") (cast_expression "(int *)(unaff_s1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x38)" (( "(") (binary_expression "unaff_s1 + 0x38" (identifier "unaff_s1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);" (assignment_expression "local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff)" (identifier "local_c4") (= "=") (cast_expression "(code *)((uint)(local_d8 + (int)local_a8) & 0xff)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(local_d8 + (int)local_a8) & 0xff)" (( "(") (binary_expression "(uint)(local_d8 + (int)local_a8) & 0xff" (call_expression "(uint)(local_d8 + (int)local_a8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_d8 + (int)local_a8)" (( "(") (binary_expression "local_d8 + (int)local_a8" (identifier "local_d8") (+ "+") (cast_expression "(int)local_a8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a8"))) () ")"))) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x3768)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x3768)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x3768" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x3768")) () ")")))) (; ";")) (expression_statement "*(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);" (assignment_expression "*(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0)" (pointer_expression "*(uint *)(param_2 + 0x40)" (* "*") (cast_expression "(uint *)(param_2 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x40)" (( "(") (binary_expression "param_2 + 0x40" (identifier "param_2") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (unary_expression "-(uint)(iVar8 != 0)" (- "-") (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")"))))) (; ";")) (expression_statement "*(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);" (assignment_expression "*(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0)" (pointer_expression "*(uint *)(param_2 + 0x44)" (* "*") (cast_expression "(uint *)(param_2 + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x44)" (( "(") (binary_expression "param_2 + 0x44" (identifier "param_2") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (unary_expression "-(uint)(iVar8 != 0)" (- "-") (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")"))))) (; ";")) (expression_statement "local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);" (assignment_expression "local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec)" (identifier "local_c0") (= "=") (cast_expression "(int ******)(*pcVar13)(*param_1,unaff_s1,local_ec)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*pcVar13)(*param_1,unaff_s1,local_ec)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(*param_1,unaff_s1,local_ec)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "unaff_s1") (, ",") (identifier "local_ec") () ")"))))) (; ";")) (if_statement "if (param_5 == 5) {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }\n        else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" (if "if") (parenthesized_expression "(param_5 == 5)" (( "(") (binary_expression "param_5 == 5" (identifier "param_5") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          local_60 = 1;\n          if (pcVar13 != (code *)0x0) goto LAB_0010da68;\n        }" ({ "{") (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(unaff_s1 + 8)" (* "*") (cast_expression "(code **)(unaff_s1 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_s1 + 8)" (( "(") (binary_expression "unaff_s1 + 8" (identifier "unaff_s1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" (identifier "local_60") (= "=") (number_literal "1")) (; ";")) (if_statement "if (pcVar13 != (code *)0x0) goto LAB_0010da68;" (if "if") (parenthesized_expression "(pcVar13 != (code *)0x0)" (( "(") (binary_expression "pcVar13 != (code *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010da68;" (goto "goto") (statement_identifier "LAB_0010da68") (; ";"))) (} "}")) (else_clause "else {\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" (else "else") (compound_statement "{\n          pcVar13 = *(code **)(unaff_s1 + 8);\n          if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }\n          if (local_60 == 0) goto LAB_0010dcb0;\n        }" ({ "{") (expression_statement "pcVar13 = *(code **)(unaff_s1 + 8);" (assignment_expression "pcVar13 = *(code **)(unaff_s1 + 8)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(unaff_s1 + 8)" (* "*") (cast_expression "(code **)(unaff_s1 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_s1 + 8)" (( "(") (binary_expression "unaff_s1 + 8" (identifier "unaff_s1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (pcVar13 != (code *)0x0) {\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }" (if "if") (parenthesized_expression "(pcVar13 != (code *)0x0)" (( "(") (binary_expression "pcVar13 != (code *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);\n            iVar8 = 0;\n            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);\n            pcVar29 = local_a4;\n            do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);\n          }" ({ "{") (labeled_statement "LAB_0010da68:\n            local_e4 = (int ******)(uint)((int)local_c0 < 2);" (statement_identifier "LAB_0010da68") (: ":") (expression_statement "local_e4 = (int ******)(uint)((int)local_c0 < 2);" (assignment_expression "local_e4 = (int ******)(uint)((int)local_c0 < 2)" (identifier "local_e4") (= "=") (cast_expression "(int ******)(uint)((int)local_c0 < 2)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(uint)((int)local_c0 < 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_c0 < 2)" (( "(") (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c0")) (< "<") (number_literal "2")) () ")"))))) (; ";"))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc)" (identifier "pcVar20") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x56dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x56dc)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x56dc" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x56dc")) () ")")))) (; ";")) (expression_statement "pcVar29 = local_a4;" (assignment_expression "pcVar29 = local_a4" (identifier "pcVar29") (= "=") (identifier "local_a4")) (; ";")) (do_statement "do {\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            } while (pcVar13 != (code *)0x0);" (do "do") (compound_statement "{\n              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }\n              *(int *******)pcVar29 = ppppppiVar30;\n              iVar8 = iVar8 + 1;\n              pcVar13 = *(code **)(pcVar13 + 0x14);\n              pcVar29 = pcVar29 + 4;\n            }" ({ "{") (if_statement "if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))\n              {\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }\n              else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" (if "if") (parenthesized_expression "((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))" (( "(") (binary_expression "(((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)) &&\n                 ((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)))" (parenthesized_expression "(((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5))" (( "(") (binary_expression "((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&\n                  (pcVar13 != unaff_s5)" (parenthesized_expression "((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0))" (( "(") (binary_expression "(local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)" (parenthesized_expression "(local_c4 == (code *)0x0)" (( "(") (binary_expression "local_c4 == (code *)0x0" (identifier "local_c4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_e4 != (int ******)0x0)" (( "(") (binary_expression "local_e4 != (int ******)0x0" (identifier "local_e4") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar13 != unaff_s5)" (( "(") (binary_expression "pcVar13 != unaff_s5" (identifier "pcVar13") (!= "!=") (identifier "unaff_s5")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)))" (( "(") (parenthesized_expression "(*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))" (( "(") (binary_expression "*(int *)(pcVar13 + 0x24) == 0 ||\n                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)" (binary_expression "*(int *)(pcVar13 + 0x24) == 0" (pointer_expression "*(int *)(pcVar13 + 0x24)" (* "*") (cast_expression "(int *)(pcVar13 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x24)" (( "(") (binary_expression "pcVar13 + 0x24" (identifier "pcVar13") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0)" (( "(") (comma_expression "iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0" (assignment_expression "iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" (identifier "iVar10") (= "=") (call_expression "(*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(*(int *)(pcVar13 + 0x24),local_ec,local_d8)" (( "(") (pointer_expression "*(int *)(pcVar13 + 0x24)" (* "*") (cast_expression "(int *)(pcVar13 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x24)" (( "(") (binary_expression "pcVar13 + 0x24" (identifier "pcVar13") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "local_ec") (, ",") (identifier "local_d8") () ")")))) (, ",") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                iVar10 = 0;\n                if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }\nLAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;\n                local_98[iVar8 + 1] = (code)0x0;\n              }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(short *)(pcVar13 + 0x32) != 0) {\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }" (if "if") (parenthesized_expression "(*(short *)(pcVar13 + 0x32) != 0)" (( "(") (binary_expression "*(short *)(pcVar13 + 0x32) != 0" (pointer_expression "*(short *)(pcVar13 + 0x32)" (* "*") (cast_expression "(short *)(pcVar13 + 0x32)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x32)" (( "(") (binary_expression "pcVar13 + 0x32" (identifier "pcVar13") (+ "+") (number_literal "0x32")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));\n                }" ({ "{") (do_statement "do {\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));" (do "do") (compound_statement "{\n                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);\n                    if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }\n                    iVar10 = iVar10 + 1;\n                    if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }\n                  }" ({ "{") (expression_statement "iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);" (assignment_expression "iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" (identifier "iVar7") (= "=") (cast_expression "(int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" (* "*") (cast_expression "(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar13 + 4) + iVar10 * 2)" (( "(") (binary_expression "*(int *)(pcVar13 + 4) + iVar10 * 2" (pointer_expression "*(int *)(pcVar13 + 4)" (* "*") (cast_expression "(int *)(pcVar13 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 4)" (( "(") (binary_expression "pcVar13 + 4" (identifier "pcVar13") (+ "+") (number_literal "4")) () ")")))) (+ "+") (binary_expression "iVar10 * 2" (identifier "iVar10") (* "*") (number_literal "2"))) () ")")))))) (; ";")) (if_statement "if (iVar7 < 0) {\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }\n                    else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                      uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);\n                    }" ({ "{") (expression_statement "uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8);" (assignment_expression "uVar23 = (*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" (identifier "uVar23") (= "=") (call_expression "(*pcVar20)(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,\n                                          local_d8)" (( "(") (pointer_expression "*(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" (* "*") (cast_expression "(undefined4 *)\n                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4)" (( "(") (binary_expression "*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4" (binary_expression "*(int *)(pcVar13 + 0x28) + iVar10 * 0x14" (pointer_expression "*(int *)(pcVar13 + 0x28)" (* "*") (cast_expression "(int *)(pcVar13 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x28)" (( "(") (binary_expression "pcVar13 + 0x28" (identifier "pcVar13") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (binary_expression "iVar10 * 0x14" (identifier "iVar10") (* "*") (number_literal "0x14"))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "local_ec") (, ",") (identifier "local_d8") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" (else "else") (compound_statement "{\n                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;\n                    }" ({ "{") (expression_statement "uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;" (assignment_expression "uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f" (identifier "uVar23") (= "=") (binary_expression "~*(uint *)(local_ec + iVar7 * 4) >> 0x1f" (unary_expression "~*(uint *)(local_ec + iVar7 * 4)" (~ "~") (pointer_expression "*(uint *)(local_ec + iVar7 * 4)" (* "*") (cast_expression "(uint *)(local_ec + iVar7 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_ec + iVar7 * 4)" (( "(") (binary_expression "local_ec + iVar7 * 4" (identifier "local_ec") (+ "+") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4"))) () ")"))))) (>> ">>") (number_literal "0x1f"))) (; ";")) (} "}")))) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar23 != 0) {\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }" (if "if") (parenthesized_expression "(uVar23 != 0)" (( "(") (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                      param_1[0xb] = ppppppiVar30;\n                      param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\n                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }\n                      goto LAB_0010dabc;\n                    }" ({ "{") (expression_statement "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1)" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + 1)" (( "(") (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[0xb] = ppppppiVar30;" (assignment_expression "param_1[0xb] = ppppppiVar30" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "ppppppiVar30")) (; ";")) (expression_statement "param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);" (assignment_expression "param_1[0xb] = (int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int ******)\n                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (( "(") (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30" (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(pcVar13 + 0x34)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x34)" (( "(") (binary_expression "pcVar13 + 0x34" (identifier "pcVar13") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30"))) () ")")))) (; ";")) (if_statement "if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {\n                        local_60 = 1;\n                      }" (if "if") (parenthesized_expression "((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5))" (( "(") (binary_expression "(param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)" (parenthesized_expression "(param_5 == 0xb)" (( "(") (binary_expression "param_5 == 0xb" (identifier "param_5") (== "==") (number_literal "0xb")) () ")")) (&& "&&") (parenthesized_expression "(pcVar13[0x36] == (code)0x5)" (( "(") (binary_expression "pcVar13[0x36] == (code)0x5" (subscript_expression "pcVar13[0x36]" (identifier "pcVar13") ([ "[") (number_literal "0x36") (] "]")) (== "==") (cast_expression "(code)0x5" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x5"))) () ")"))) () ")")) (compound_statement "{\n                        local_60 = 1;\n                      }" ({ "{") (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" (identifier "local_60") (= "=") (number_literal "1")) (; ";")) (} "}"))) (goto_statement "goto LAB_0010dabc;" (goto "goto") (statement_identifier "LAB_0010dabc") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32))" (( "(") (binary_expression "iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32)" (identifier "iVar10") (< "<") (binary_expression "(int)(uint)*(ushort *)(pcVar13 + 0x32)" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(pcVar13 + 0x32)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x32)" (( "(") (binary_expression "pcVar13 + 0x32" (identifier "pcVar13") (+ "+") (number_literal "0x32")) () ")"))))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0010dac8:\n                ppppppiVar30 = (int ******)0x0;" (statement_identifier "LAB_0010dac8") (: ":") (expression_statement "ppppppiVar30 = (int ******)0x0;" (assignment_expression "ppppppiVar30 = (int ******)0x0" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_98[iVar8 + 1] = (code)0x0;" (assignment_expression "local_98[iVar8 + 1] = (code)0x0" (subscript_expression "local_98[iVar8 + 1]" (identifier "local_98") ([ "[") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) (] "]")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" (else "else") (compound_statement "{\n                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);\n                param_1[0xb] = ppppppiVar30;\n                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);\nLAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;\n              }" ({ "{") (expression_statement "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)param_1[0xb] + 1)" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + 1)" (( "(") (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[0xb] = ppppppiVar30;" (assignment_expression "param_1[0xb] = ppppppiVar30" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "ppppppiVar30")) (; ";")) (expression_statement "param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);" (assignment_expression "param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30)" (( "(") (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30" (binary_expression "(uint)*(ushort *)(pcVar13 + 0x34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(pcVar13 + 0x34)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x34)" (( "(") (binary_expression "pcVar13 + 0x34" (identifier "pcVar13") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30"))) () ")")))) (; ";")) (labeled_statement "LAB_0010dabc:\n                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;" (statement_identifier "LAB_0010dabc") (: ":") (if_statement "if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;" (if "if") (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar30 == (int ******)0x0" (identifier "ppppppiVar30") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010dac8;" (goto "goto") (statement_identifier "LAB_0010dac8") (; ";")))) (} "}")))) (expression_statement "*(int *******)pcVar29 = ppppppiVar30;" (assignment_expression "*(int *******)pcVar29 = ppppppiVar30" (pointer_expression "*(int *******)pcVar29" (* "*") (cast_expression "(int *******)pcVar29" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "pcVar29"))) (= "=") (identifier "ppppppiVar30")) (; ";")) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar13 = *(code **)(pcVar13 + 0x14);" (assignment_expression "pcVar13 = *(code **)(pcVar13 + 0x14)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(pcVar13 + 0x14)" (* "*") (cast_expression "(code **)(pcVar13 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0x14)" (( "(") (binary_expression "pcVar13 + 0x14" (identifier "pcVar13") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pcVar29 = pcVar29 + 4;" (assignment_expression "pcVar29 = pcVar29 + 4" (identifier "pcVar29") (= "=") (binary_expression "pcVar29 + 4" (identifier "pcVar29") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar13 != (code *)0x0)" (( "(") (binary_expression "pcVar13 != (code *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (local_60 == 0) goto LAB_0010dcb0;" (if "if") (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0010dcb0;" (goto "goto") (statement_identifier "LAB_0010dcb0") (; ";"))) (} "}")))) (expression_statement "(*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);" (call_expression "(*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" (( "(") (pointer_expression "*(code *)PTR_memset_00190d58" (* "*") (cast_expression "(code *)PTR_memset_00190d58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_00190d58"))) () ")")) (argument_list "(local_98,1,(int)local_90 + 1)" (( "(") (identifier "local_98") (, ",") (number_literal "1") (, ",") (binary_expression "(int)local_90 + 1" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "1")) () ")"))) (; ";")) (labeled_statement "LAB_0010dcb0:\n        unaff_s7 = (int *******)param_1[2];" (statement_identifier "LAB_0010dcb0") (: ":") (expression_statement "unaff_s7 = (int *******)param_1[2];" (assignment_expression "unaff_s7 = (int *******)param_1[2]" (identifier "unaff_s7") (= "=") (cast_expression "(int *******)param_1[2]" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";"))) (if_statement "if ((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;" (if "if") (parenthesized_expression "((unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0))" (( "(") (binary_expression "(unaff_s7 == (int *******)0x0) &&\n           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)" (parenthesized_expression "(unaff_s7 == (int *******)0x0)" (( "(") (binary_expression "unaff_s7 == (int *******)0x0" (identifier "unaff_s7") (== "==") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0)" (( "(") (comma_expression "unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),\n           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (identifier "unaff_s7") (= "=") (cast_expression "(int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x1274)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x1274)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x1274)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x1274" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x1274")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (, ",") (comma_expression "pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pppppppiVar14 = param_1" (identifier "pppppppiVar14") (= "=") (identifier "param_1")) (, ",") (comma_expression "pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pcVar20 = unaff_s1" (identifier "pcVar20") (= "=") (identifier "unaff_s1")) (, ",") (comma_expression "pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "pcVar29 = unaff_s5" (identifier "pcVar29") (= "=") (identifier "unaff_s5")) (, ",") (comma_expression "ppppppiVar30 = unaff_s8,\n           unaff_s7 == (int *******)0x0" (assignment_expression "ppppppiVar30 = unaff_s8" (identifier "ppppppiVar30") (= "=") (identifier "unaff_s8")) (, ",") (binary_expression "unaff_s7 == (int *******)0x0" (identifier "unaff_s7") (== "==") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))))))) () ")"))) () ")")) (goto_statement "goto LAB_0010d60c;" (goto "goto") (statement_identifier "LAB_0010d60c") (; ";"))) (if_statement "if (*(char *)((int)param_1 + 0x12) == '\0') {\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }" (if "if") (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" (* "*") (cast_expression "(char *)((int)param_1 + 0x12)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x12)" (( "(") (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x12")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;\n        }" ({ "{") (expression_statement "*(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;" (assignment_expression "*(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4" (pointer_expression "*(byte *)((int)unaff_s7 + 0x95)" (* "*") (cast_expression "(byte *)((int)unaff_s7 + 0x95)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + 0x95)" (( "(") (binary_expression "(int)unaff_s7 + 0x95" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (number_literal "0x95")) () ")")))) (= "=") (binary_expression "*(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4" (binary_expression "*(byte *)((int)unaff_s7 + 0x95) & 0xfb" (pointer_expression "*(byte *)((int)unaff_s7 + 0x95)" (* "*") (cast_expression "(byte *)((int)unaff_s7 + 0x95)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + 0x95)" (( "(") (binary_expression "(int)unaff_s7 + 0x95" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (number_literal "0x95")) () ")")))) (& "&") (number_literal "0xfb")) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "(*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bbc + 0x6508))\n                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bbc + 0x6508))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bbc + 0x6508)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bbc + 0x6508)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bbc + 0x6508)" (( "(") (binary_expression "PTR_LAB_00190bbc + 0x6508" (identifier "PTR_LAB_00190bbc") (+ "+") (number_literal "0x6508")) () ")")))) () ")")) (argument_list "(param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4)" (( "(") (identifier "param_1") (, ",") (binary_expression "local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0" (binary_expression "local_d0 != (int ******)0x0" (identifier "local_d0") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "local_c0 != (int ******)0x0" (identifier "local_c0") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0")))) (, ",") (identifier "local_b4") () ")"))) (; ";")) (if_statement "if (*(int *)(unaff_s1 + 0x38) != 0) {\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }" (if "if") (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) != 0)" (( "(") (binary_expression "*(int *)(unaff_s1 + 0x38) != 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" (* "*") (cast_expression "(int *)(unaff_s1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x38)" (( "(") (binary_expression "unaff_s1 + 0x38" (identifier "unaff_s1") (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_94 = 0;\n          local_8c = (code *)0x0;\n          local_cc = (int ******)0x0;\n          local_e4 = (int ******)0x0;\n          goto LAB_0010dd68;\n        }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c = (code *)0x0;" (assignment_expression "local_8c = (code *)0x0" (identifier "local_8c") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_cc = (int ******)0x0;" (assignment_expression "local_cc = (int ******)0x0" (identifier "local_cc") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e4 = (int ******)0x0;" (assignment_expression "local_e4 = (int ******)0x0" (identifier "local_e4") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0010dd68;" (goto "goto") (statement_identifier "LAB_0010dd68") (; ";")) (} "}"))) (expression_statement "ppppppiVar30 = param_1[0xb];" (assignment_expression "ppppppiVar30 = param_1[0xb]" (identifier "ppppppiVar30") (= "=") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "local_e4 = (int ******)((int)ppppppiVar30 + 2);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar30 + 2)" (identifier "local_e4") (= "=") (cast_expression "(int ******)((int)ppppppiVar30 + 2)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar30 + 2)" (( "(") (binary_expression "(int)ppppppiVar30 + 2" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_ac = (int)ppppppiVar30 + 1;" (assignment_expression "local_ac = (int)ppppppiVar30 + 1" (identifier "local_ac") (= "=") (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_1[0xb] = local_e4;" (assignment_expression "param_1[0xb] = local_e4" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "local_e4")) (; ";")) (if_statement "if (local_a8 == (code *)0x0) {\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }\n        else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" (if "if") (parenthesized_expression "(local_a8 == (code *)0x0)" (( "(") (binary_expression "local_a8 == (code *)0x0" (identifier "local_a8") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }\n          pcVar13 = local_d8;\n          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_d8 != (code *)0x0) goto LAB_0010dd48;\n        }" ({ "{") (if_statement "if (local_d0 != (int ******)0x0) {\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }" (if "if") (parenthesized_expression "(local_d0 != (int ******)0x0)" (( "(") (binary_expression "local_d0 != (int ******)0x0" (identifier "local_d0") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_94 = (int)ppppppiVar30 + 3;\n            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n            goto LAB_0010dd48;\n          }" ({ "{") (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" (identifier "local_94") (= "=") (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (identifier "ppppppiVar9") (= "=") (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (+ "+") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) () ")")))) (; ";")) (goto_statement "goto LAB_0010dd48;" (goto "goto") (statement_identifier "LAB_0010dd48") (; ";")) (} "}"))) (expression_statement "pcVar13 = local_d8;" (assignment_expression "pcVar13 = local_d8" (identifier "pcVar13") (= "=") (identifier "local_d8")) (; ";")) (if_statement "if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;" (if "if") (parenthesized_expression "(local_c0 == (int ******)0x0)" (( "(") (binary_expression "local_c0 == (int ******)0x0" (identifier "local_c0") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010ef6c;" (goto "goto") (statement_identifier "LAB_0010ef6c") (; ";"))) (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" (identifier "local_94") (= "=") (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (identifier "ppppppiVar9") (= "=") (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (+ "+") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) () ")")))) (; ";")) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "ppppppiVar9")) (; ";")) (if_statement "if (local_d8 != (code *)0x0) goto LAB_0010dd48;" (if "if") (parenthesized_expression "(local_d8 != (code *)0x0)" (( "(") (binary_expression "local_d8 != (code *)0x0" (identifier "local_d8") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010dd48;" (goto "goto") (statement_identifier "LAB_0010dd48") (; ";"))) (} "}")) (else_clause "else {\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" (else "else") (compound_statement "{\n          local_94 = (int)ppppppiVar30 + 3;\n          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));\n          param_1[0xb] = ppppppiVar9;\n          if (local_c4 != (code *)0x0) goto LAB_0010dd48;\n          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;\n          local_cc = local_e4;\n          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;\n        }" ({ "{") (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" (identifier "local_94") (= "=") (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (identifier "ppppppiVar9") (= "=") (cast_expression "(int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "(int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (+ "+") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) () ")")))) (; ";")) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "ppppppiVar9")) (; ";")) (if_statement "if (local_c4 != (code *)0x0) goto LAB_0010dd48;" (if "if") (parenthesized_expression "(local_c4 != (code *)0x0)" (( "(") (binary_expression "local_c4 != (code *)0x0" (identifier "local_c4") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010dd48;" (goto "goto") (statement_identifier "LAB_0010dd48") (; ";"))) (if_statement "if (local_d0 != (int ******)0x0) goto LAB_0010dd48;" (if "if") (parenthesized_expression "(local_d0 != (int ******)0x0)" (( "(") (binary_expression "local_d0 != (int ******)0x0" (identifier "local_d0") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010dd48;" (goto "goto") (statement_identifier "LAB_0010dd48") (; ";"))) (expression_statement "local_cc = local_e4;" (assignment_expression "local_cc = local_e4" (identifier "local_cc") (= "=") (identifier "local_e4")) (; ";")) (if_statement "if (local_c0 == (int ******)0x0) goto LAB_0010dd54;" (if "if") (parenthesized_expression "(local_c0 == (int ******)0x0)" (( "(") (binary_expression "local_c0 == (int ******)0x0" (identifier "local_c0") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010dd54;" (goto "goto") (statement_identifier "LAB_0010dd54") (; ";"))) (} "}")))) (expression_statement "local_94 = (int)ppppppiVar30 + 3;" (assignment_expression "local_94 = (int)ppppppiVar30 + 3" (identifier "local_94") (= "=") (binary_expression "(int)ppppppiVar30 + 3" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "ppppppiVar9 = param_1[0xb];" (assignment_expression "ppppppiVar9 = param_1[0xb]" (identifier "ppppppiVar9") (= "=") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (goto_statement "goto LAB_0010dd48;" (goto "goto") (statement_identifier "LAB_0010dd48") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" (identifier "unaff_s0") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (local_58 != (int *******)0x0) {\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }" (if "if") (parenthesized_expression "(local_58 != (int *******)0x0)" (( "(") (binary_expression "local_58 != (int *******)0x0" (identifier "local_58") (!= "!=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_58[0x3b] = local_5c;\n    local_58 = (int *******)0x0;\n  }" ({ "{") (expression_statement "local_58[0x3b] = local_5c;" (assignment_expression "local_58[0x3b] = local_5c" (subscript_expression "local_58[0x3b]" (identifier "local_58") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" (identifier "local_58") (= "=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (labeled_statement "LAB_0010d4a8:\n  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" (statement_identifier "LAB_0010d4a8") (: ":") (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x210c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" (( "(") (binary_expression "PTR_LAB_00190bb8 + -0x210c" (identifier "PTR_LAB_00190bb8") (+ "+") (number_literal "-0x210c")) () ")")))) () ")")) (argument_list "(ppppppiVar26,param_2)" (( "(") (identifier "ppppppiVar26") (, ",") (identifier "param_2") () ")"))) (; ";"))) (expression_statement "param_1 = unaff_s0;" (assignment_expression "param_1 = unaff_s0" (identifier "param_1") (= "=") (identifier "unaff_s0")) (; ";")) (if_statement "if (param_3 != (int *)0x0) goto LAB_0010d64c;" (if "if") (parenthesized_expression "(param_3 != (int *)0x0)" (( "(") (binary_expression "param_3 != (int *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010d64c;" (goto "goto") (statement_identifier "LAB_0010d64c") (; ";"))) (do_statement "do {\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  } while( true );" (do "do") (compound_statement "{\n    if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }\n    if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }\n    if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }\n    if (local_2c == *(int *)puVar6) {\n      return;\n    }\n    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();\nLAB_0010ef6c:\n    ppppppiVar9 = local_e4;\n    if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }\nLAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);\n    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));\nLAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }\n    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);\n    puVar5 = PTR_LAB_00190bc0;\n    pppppppiVar14 = param_1;\n    pcVar20 = unaff_s1;\n    pcVar29 = unaff_s5;\n    ppppppiVar30 = unaff_s8;\n    if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }\nLAB_0010d60c:\n    pppppppiVar16 = local_58;\n    if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }\n    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);\n    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);\n    param_1 = pppppppiVar14;\n    unaff_s1 = pcVar20;\n    unaff_s5 = pcVar29;\n    unaff_s8 = ppppppiVar30;\nLAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);\n  }" ({ "{") (if_statement "if (param_4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x47b0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x47b0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bb8 + -0x47b0)" (( "(") (binary_expression "PTR_LAB_00190bb8 + -0x47b0" (identifier "PTR_LAB_00190bb8") (+ "+") (number_literal "-0x47b0")) () ")")))) () ")")) (argument_list "(ppppppiVar26,param_4)" (( "(") (identifier "ppppppiVar26") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_f8 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }" (if "if") (parenthesized_expression "(local_f8 != 0)" (( "(") (binary_expression "local_f8 != 0" (identifier "local_f8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x4644)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x4644)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bb8 + -0x4644)" (( "(") (binary_expression "PTR_LAB_00190bb8 + -0x4644" (identifier "PTR_LAB_00190bb8") (+ "+") (number_literal "-0x4644")) () ")")))) () ")")) (argument_list "(ppppppiVar26,local_f8)" (( "(") (identifier "ppppppiVar26") (, ",") (identifier "local_f8") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_f4 != 0) {\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }" (if "if") (parenthesized_expression "(local_f4 != 0)" (( "(") (binary_expression "local_f4 != 0" (identifier "local_f4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x47b0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x47b0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x47b0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bb8 + -0x47b0)" (( "(") (binary_expression "PTR_LAB_00190bb8 + -0x47b0" (identifier "PTR_LAB_00190bb8") (+ "+") (number_literal "-0x47b0")) () ")")))) () ")")) (argument_list "(ppppppiVar26,local_f4)" (( "(") (identifier "ppppppiVar26") (, ",") (identifier "local_f4") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_2c == *(int *)puVar6) {\n      return;\n    }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar6)" (( "(") (binary_expression "local_2c == *(int *)puVar6" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();" (assignment_expression "pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)()" (identifier "pcVar13") (= "=") (cast_expression "(code *)(*(code *)PTR___stack_chk_fail_00190df8)()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (labeled_statement "LAB_0010ef6c:\n    ppppppiVar9 = local_e4;" (statement_identifier "LAB_0010ef6c") (: ":") (expression_statement "ppppppiVar9 = local_e4;" (assignment_expression "ppppppiVar9 = local_e4" (identifier "ppppppiVar9") (= "=") (identifier "local_e4")) (; ";"))) (if_statement "if (pcVar13 == (code *)0x0) {\n      local_94 = 0;\n      local_cc = local_e4;\n    }\n    else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" (if "if") (parenthesized_expression "(pcVar13 == (code *)0x0)" (( "(") (binary_expression "pcVar13 == (code *)0x0" (identifier "pcVar13") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_94 = 0;\n      local_cc = local_e4;\n    }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_cc = local_e4;" (assignment_expression "local_cc = local_e4" (identifier "local_cc") (= "=") (identifier "local_e4")) (; ";")) (} "}")) (else_clause "else {\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" (else "else") (compound_statement "{\n      local_94 = 0;\nLAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);\n      param_1[0xb] = ppppppiVar9;\n      local_cc = ppppppiVar9;\n    }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0010dd48:\n      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);" (statement_identifier "LAB_0010dd48") (: ":") (expression_statement "ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);" (assignment_expression "ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1)" (identifier "ppppppiVar9") (= "=") (cast_expression "(int ******)((int)ppppppiVar9 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar9 + 1)" (( "(") (binary_expression "(int)ppppppiVar9 + 1" (cast_expression "(int)ppppppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar9")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "param_1[0xb] = ppppppiVar9;" (assignment_expression "param_1[0xb] = ppppppiVar9" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "ppppppiVar9")) (; ";")) (expression_statement "local_cc = ppppppiVar9;" (assignment_expression "local_cc = ppppppiVar9" (identifier "local_cc") (= "=") (identifier "ppppppiVar9")) (; ";")) (} "}")))) (labeled_statement "LAB_0010dd54:\n    local_8c = (code *)((int)ppppppiVar9 + 1);" (statement_identifier "LAB_0010dd54") (: ":") (expression_statement "local_8c = (code *)((int)ppppppiVar9 + 1);" (assignment_expression "local_8c = (code *)((int)ppppppiVar9 + 1)" (identifier "local_8c") (= "=") (cast_expression "(code *)((int)ppppppiVar9 + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar9 + 1)" (( "(") (binary_expression "(int)ppppppiVar9 + 1" (cast_expression "(int)ppppppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar9")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));" (assignment_expression "param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "(int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)ppppppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar9")) (+ "+") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) () ")")))) (; ";")) (labeled_statement "LAB_0010dd68:\n    if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" (statement_identifier "LAB_0010dd68") (: ":") (if_statement "if (local_bc != 0) {\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" (if "if") (parenthesized_expression "(local_bc != 0)" (( "(") (binary_expression "local_bc != 0" (identifier "local_bc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_5c = param_1[0x3b];\n      param_1[0x3b] = *(int *******)unaff_s1;\n      local_58 = param_1;\n      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);\n      local_f4 = 0;\n      local_f8 = 0;\n    }" ({ "{") (expression_statement "local_5c = param_1[0x3b];" (assignment_expression "local_5c = param_1[0x3b]" (identifier "local_5c") (= "=") (subscript_expression "param_1[0x3b]" (identifier "param_1") ([ "[") (number_literal "0x3b") (] "]"))) (; ";")) (expression_statement "param_1[0x3b] = *(int *******)unaff_s1;" (assignment_expression "param_1[0x3b] = *(int *******)unaff_s1" (subscript_expression "param_1[0x3b]" (identifier "param_1") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (pointer_expression "*(int *******)unaff_s1" (* "*") (cast_expression "(int *******)unaff_s1" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "unaff_s1")))) (; ";")) (expression_statement "local_58 = param_1;" (assignment_expression "local_58 = param_1" (identifier "local_58") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);" (call_expression "FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8)" (identifier "FUN_000f8680") (argument_list "(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (pointer_expression "*(int *)(unaff_s1 + 0x48)" (* "*") (cast_expression "(int *)(unaff_s1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x48)" (( "(") (binary_expression "unaff_s1 + 0x48" (identifier "unaff_s1") (+ "+") (number_literal "0x48")) () ")")))) (, ",") (identifier "param_4") (, ",") (identifier "local_f8") (, ",") (identifier "local_f4") (, ",") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" (identifier "local_f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" (identifier "local_f8") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4)" (identifier "iVar8") (= "=") (call_expression "(*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + 0x6280))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bdc + 0x6280)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bdc + 0x6280)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bdc + 0x6280)" (( "(") (binary_expression "PTR_LAB_00190bdc + 0x6280" (identifier "PTR_LAB_00190bdc") (+ "+") (number_literal "0x6280")) () ")")))) () ")")) (argument_list "(&local_54,param_4)" (( "(") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" (identifier "puVar5") (= "=") (identifier "PTR_LAB_00190bc0")) (; ";")) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" (identifier "pppppppiVar14") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcVar20 = unaff_s1;" (assignment_expression "pcVar20 = unaff_s1" (identifier "pcVar20") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "pcVar29 = unaff_s5;" (assignment_expression "pcVar29 = unaff_s5" (identifier "pcVar29") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "ppppppiVar30 = unaff_s8;" (assignment_expression "ppppppiVar30 = unaff_s8" (identifier "ppppppiVar30") (= "=") (identifier "unaff_s8")) (; ";")) (if_statement "if (iVar8 == 0) {\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }\n    }" ({ "{") (if_statement "if (*(int *)(unaff_s1 + 0x38) == 0) {\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }\n      else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) == 0)" (( "(") (binary_expression "*(int *)(unaff_s1 + 0x38) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" (* "*") (cast_expression "(int *)(unaff_s1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x38)" (( "(") (binary_expression "unaff_s1 + 0x38" (identifier "unaff_s1") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);\n        param_1[0xe] = ppppppiVar9;\n        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }\nLAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }\n        if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }\n        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);\n        puVar5 = PTR_LAB_00190c58;\n        if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }\n        if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }\n        if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }\n        ppppppiVar30 = (int ******)0x2;\n        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);\n        if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }\n        (*pcVar20)(unaff_s7,ppppppiVar9);\n        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }\n        if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }\n      }" ({ "{") (expression_statement "ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);" (assignment_expression "ppppppiVar9 = (int ******)((int)param_1[0xe] - 1)" (identifier "ppppppiVar9") (= "=") (cast_expression "(int ******)((int)param_1[0xe] - 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xe] - 1)" (( "(") (binary_expression "(int)param_1[0xe] - 1" (cast_expression "(int)param_1[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[0xe] = ppppppiVar9;" (assignment_expression "param_1[0xe] = ppppppiVar9" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "ppppppiVar9")) (; ";")) (if_statement "if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')) {\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }\n        else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" (if "if") (parenthesized_expression "(((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0'))" (( "(") (binary_expression "((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||\n           (*(char *)((int)param_1 + 0x12) != '\0')" (parenthesized_expression "((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0))" (( "(") (binary_expression "(((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)" (parenthesized_expression "(((uint)ppppppiVar26[9] & 0x80) == 0)" (( "(") (binary_expression "((uint)ppppppiVar26[9] & 0x80) == 0" (parenthesized_expression "((uint)ppppppiVar26[9] & 0x80)" (( "(") (binary_expression "(uint)ppppppiVar26[9] & 0x80" (cast_expression "(uint)ppppppiVar26[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppiVar26[9]" (identifier "ppppppiVar26") ([ "[") (number_literal "9") (] "]"))) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_1[0x1e] != (int ******)0x0)" (( "(") (binary_expression "param_1[0x1e] != (int ******)0x0" (subscript_expression "param_1[0x1e]" (identifier "param_1") ([ "[") (number_literal "0x1e") (] "]")) (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)param_1 + 0x12) != '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 0x12) != '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" (* "*") (cast_expression "(char *)((int)param_1 + 0x12)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x12)" (( "(") (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x12")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }\nLAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);\n          iVar8 = 0;\n          local_9c = (int ******)0x0;\n          local_a0 = (int ******)0x0;\n          cVar3 = '\x01';\n          local_88 = 0;\nLAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n        }" ({ "{") (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" (if "if") (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" (( "(") (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" (* "*") (cast_expression "(uint *)(unaff_s1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x24)" (( "(") (binary_expression "unaff_s1 + 0x24" (identifier "unaff_s1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x49") (, ",") (number_literal "0") (, ",") (identifier "local_ac") (, ",") (identifier "local_e4") () ")"))) (; ";")) (if_statement "if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }" (if "if") (parenthesized_expression "(local_e8 == (int ******)0x0)" (( "(") (binary_expression "local_e8 == (int ******)0x0" (identifier "local_e8") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_9c = (int ******)0x0;\n              goto LAB_0010efcc;\n            }" ({ "{") (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" (identifier "local_9c") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0010efcc;" (goto "goto") (statement_identifier "LAB_0010efcc") (; ";")) (} "}"))) (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" (identifier "local_dc") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" (identifier "ppppppiVar22") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" (identifier "local_b4") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" (else "else") (compound_statement "{\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\n            if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }\n          }" ({ "{") (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" (identifier "local_b4") (= "=") (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s5 + 0x32)" (* "*") (cast_expression "(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s5 + 0x32)" (( "(") (binary_expression "unaff_s5 + 0x32" (identifier "unaff_s5") (+ "+") (number_literal "0x32")) () ")"))))))) (; ";")) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" (identifier "ppppppiVar22") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + 1)" (( "(") (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" (identifier "local_dc") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" (( "(") (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "local_dc")) (; ";")) (if_statement "if (local_e8 == (int ******)0x0) {\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }" (if "if") (parenthesized_expression "(local_e8 == (int ******)0x0)" (( "(") (binary_expression "local_e8 == (int ******)0x0" (identifier "local_e8") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_9c = (int ******)0x0;\n              goto LAB_0010e728;\n            }" ({ "{") (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" (identifier "local_9c") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0010e728;" (goto "goto") (statement_identifier "LAB_0010e728") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0010de50:\n          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);" (statement_identifier "LAB_0010de50") (: ":") (expression_statement "(*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);" (call_expression "(*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bd0 + 0x6550))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bd0 + 0x6550)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bd0 + 0x6550)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bd0 + 0x6550)" (( "(") (binary_expression "PTR_LAB_00190bd0 + 0x6550" (identifier "PTR_LAB_00190bd0") (+ "+") (number_literal "0x6550")) () ")")))) () ")")) (argument_list "(param_1,param_4,ppppppiVar9,0x10)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") (, ",") (identifier "ppppppiVar9") (, ",") (number_literal "0x10") () ")"))) (; ";"))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c = (int ******)0x0;" (assignment_expression "local_9c = (int ******)0x0" (identifier "local_9c") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = (int ******)0x0;" (assignment_expression "local_a0 = (int ******)0x0" (identifier "local_a0") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "cVar3 = '\x01';" (assignment_expression "cVar3 = '\x01'" (identifier "cVar3") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0010de98:\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" (statement_identifier "LAB_0010de98") (: ":") (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }\n          else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" (if "if") (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" (( "(") (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" (* "*") (cast_expression "(uint *)(unaff_s1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x24)" (( "(") (binary_expression "unaff_s1 + 0x24" (identifier "unaff_s1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);\n            local_b4 = (int *****)0x0;\nLAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x80") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_e4") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" (identifier "local_b4") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0010df40:\n            if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" (statement_identifier "LAB_0010df40") (: ":") (if_statement "if (local_e8 == (int ******)0x0) {\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" (if "if") (parenthesized_expression "(local_e8 == (int ******)0x0)" (( "(") (binary_expression "local_e8 == (int ******)0x0" (identifier "local_e8") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }\n              if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n              ppppppiVar30 = param_1[0xe];\nLAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);\n              local_d4 = (int ******)((int)ppppppiVar30 - 1U);\n              goto LAB_0010e580;\n            }" ({ "{") (if_statement "if (cVar3 != '\x02') {\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }" (if "if") (parenthesized_expression "(cVar3 != '\x02')" (( "(") (binary_expression "cVar3 != '\x02'" (identifier "cVar3") (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n                if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010ea7c;\n              }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x592c" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x592c")) () ")")))) () ")")) (argument_list "(local_88)" (( "(") (identifier "local_88") () ")"))) (; ";")) (if_statement "if (local_bc != 0) {\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }" (if "if") (parenthesized_expression "(local_bc != 0)" (( "(") (binary_expression "local_bc != 0" (identifier "local_bc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                  goto LAB_0010e700;\n                }" ({ "{") (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (goto_statement "goto LAB_0010e700;" (goto "goto") (statement_identifier "LAB_0010e700") (; ";")) (} "}"))) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (goto_statement "goto LAB_0010ea7c;" (goto "goto") (statement_identifier "LAB_0010ea7c") (; ";")) (} "}"))) (if_statement "if (local_bc == 0) {\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }" (if "if") (parenthesized_expression "(local_bc == 0)" (( "(") (binary_expression "local_bc == 0" (identifier "local_bc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                goto LAB_0010e5d8;\n              }" ({ "{") (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (goto_statement "goto LAB_0010e5d8;" (goto "goto") (statement_identifier "LAB_0010e5d8") (; ";")) (} "}"))) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (expression_statement "ppppppiVar30 = param_1[0xe];" (assignment_expression "ppppppiVar30 = param_1[0xe]" (identifier "ppppppiVar30") (= "=") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (labeled_statement "LAB_0010e570:\n              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);" (statement_identifier "LAB_0010e570") (: ":") (expression_statement "param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);" (assignment_expression "param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U)" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (cast_expression "(int ******)((int)ppppppiVar30 - 1U)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar30 - 1U)" (( "(") (binary_expression "(int)ppppppiVar30 - 1U" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (- "-") (number_literal "1U")) () ")")))) (; ";"))) (expression_statement "local_d4 = (int ******)((int)ppppppiVar30 - 1U);" (assignment_expression "local_d4 = (int ******)((int)ppppppiVar30 - 1U)" (identifier "local_d4") (= "=") (cast_expression "(int ******)((int)ppppppiVar30 - 1U)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar30 - 1U)" (( "(") (binary_expression "(int)ppppppiVar30 - 1U" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (- "-") (number_literal "1U")) () ")")))) (; ";")) (goto_statement "goto LAB_0010e580;" (goto "goto") (statement_identifier "LAB_0010e580") (; ";")) (} "}")))) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" (identifier "local_d4") (= "=") (identifier "ppppppiVar9")) (; ";")) (} "}")) (else_clause "else {\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" (else "else") (compound_statement "{\n            if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }\nLAB_0010deb0:\n            iVar10 = 0;\n            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            ppppppiVar30 = ppppppiVar22;\n            do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);\nLAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;\n            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\nLAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);\n            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);\n            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);\n            cVar3 = '\0';\n            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;\n            local_b4 = (int *****)0x0;\n            local_ac = 0;\n            local_d4 = ppppppiVar9;\n          }" ({ "{") (if_statement "if ((int)local_b4 < 1) {\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }" (if "if") (parenthesized_expression "((int)local_b4 < 1)" (( "(") (binary_expression "(int)local_b4 < 1" (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0010df38:\n              local_dc = ppppppiVar22;\n              if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }\n              goto LAB_0010df40;\n            }" ({ "{") (labeled_statement "LAB_0010df38:\n              local_dc = ppppppiVar22;" (statement_identifier "LAB_0010df38") (: ":") (expression_statement "local_dc = ppppppiVar22;" (assignment_expression "local_dc = ppppppiVar22" (identifier "local_dc") (= "=") (identifier "ppppppiVar22")) (; ";"))) (if_statement "if (iVar8 != 0) {\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);\n              }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2478)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2478)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2478)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x2478" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x2478")) () ")")))) () ")")) (argument_list "(*unaff_s7,unaff_s7 + 0x1a,iVar8)" (( "(") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")) (, ",") (binary_expression "unaff_s7 + 0x1a" (identifier "unaff_s7") (+ "+") (number_literal "0x1a")) (, ",") (identifier "iVar8") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0010df40;" (goto "goto") (statement_identifier "LAB_0010df40") (; ";")) (} "}"))) (labeled_statement "LAB_0010deb0:\n            iVar10 = 0;" (statement_identifier "LAB_0010deb0") (: ":") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";"))) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x4eb8")) () ")")))) (; ";")) (expression_statement "ppppppiVar30 = ppppppiVar22;" (assignment_expression "ppppppiVar30 = ppppppiVar22" (identifier "ppppppiVar30") (= "=") (identifier "ppppppiVar22")) (; ";")) (do_statement "do {\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            } while ((int)local_b4 << 1 != iVar10);" (do "do") (compound_statement "{\n              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);\n              iVar10 = iVar10 + 2;\n              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);\n              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);\n            }" ({ "{") (expression_statement "psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);" (assignment_expression "psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10)" (identifier "psVar19") (= "=") (cast_expression "(short *)(*(int *)(unaff_s5 + 4) + iVar10)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_s5 + 4) + iVar10)" (( "(") (binary_expression "*(int *)(unaff_s5 + 4) + iVar10" (pointer_expression "*(int *)(unaff_s5 + 4)" (* "*") (cast_expression "(int *)(unaff_s5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s5 + 4)" (( "(") (binary_expression "unaff_s5 + 4" (identifier "unaff_s5") (+ "+") (number_literal "4")) () ")")))) (+ "+") (identifier "iVar10")) () ")")))) (; ";")) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);" (call_expression "(*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30)" (( "(") (identifier "unaff_s7") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s8") (, ",") (cast_expression "(int)*psVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*psVar19" (* "*") (identifier "psVar19"))) (, ",") (identifier "ppppppiVar30") () ")"))) (; ";")) (expression_statement "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);" (assignment_expression "ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1)" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)((int)ppppppiVar30 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar30 + 1)" (( "(") (binary_expression "(int)ppppppiVar30 + 1" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_b4 << 1 != iVar10)" (( "(") (binary_expression "(int)local_b4 << 1 != iVar10" (binary_expression "(int)local_b4 << 1" (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4")) (<< "<<") (number_literal "1")) (!= "!=") (identifier "iVar10")) () ")")) (; ";")) (labeled_statement "LAB_0010df30:\n            if (cVar3 != '\0') goto LAB_0010df38;" (statement_identifier "LAB_0010df30") (: ":") (if_statement "if (cVar3 != '\0') goto LAB_0010df38;" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0010df38;" (goto "goto") (statement_identifier "LAB_0010df38") (; ";")))) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (labeled_statement "LAB_0010ee9c:\n            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);" (statement_identifier "LAB_0010ee9c") (: ":") (expression_statement "uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);" (assignment_expression "uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5)" (identifier "uVar21") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x1c4c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x1c4c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x1c4c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x1c4c)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x1c4c" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x1c4c")) () ")")))) () ")")) (argument_list "(ppppppiVar26,unaff_s5)" (( "(") (identifier "ppppppiVar26") (, ",") (identifier "unaff_s5") () ")")))) (; ";"))) (expression_statement "uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);" (assignment_expression "uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" (identifier "uVar12") (= "=") (call_expression "(*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x66") (, ",") (identifier "ppppppiVar22") (, ",") (identifier "local_b4") (, ",") (identifier "local_dc") () ")")))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + 0x7a3c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x7a3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + 0x7a3c)" (( "(") (binary_expression "PTR_LAB_00190ba4 + 0x7a3c" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "0x7a3c")) () ")")))) () ")")) (argument_list "(unaff_s7,uVar12,uVar21,local_b4)" (( "(") (identifier "unaff_s7") (, ",") (identifier "uVar12") (, ",") (identifier "uVar21") (, ",") (identifier "local_b4") () ")"))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x13a0" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x13a0")) () ")")))) () ")")) (argument_list "(unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x84") (, ",") (identifier "local_a0") (, ",") (identifier "local_dc") (, ",") (identifier "ppppppiVar22") (, ",") (identifier "local_b4") () ")"))) (; ";")) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" (identifier "cVar3") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;" (if "if") (parenthesized_expression "(local_e8 == (int ******)0x0)" (( "(") (binary_expression "local_e8 == (int ******)0x0" (identifier "local_e8") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010e8dc;" (goto "goto") (statement_identifier "LAB_0010e8dc") (; ";"))) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" (identifier "local_b4") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" (identifier "local_d4") (= "=") (identifier "ppppppiVar9")) (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" (else "else") (compound_statement "{\n          if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }\n          local_9c = (int ******)((int)param_1[0xb] + 1);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          param_1[0xb] = local_9c;\n          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }\n          local_f0 = (code *)(puVar5 + 0x10fc);\n          uVar21 = 0x1004;\n          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }\n          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);\n          if (local_88 == 0) goto LAB_0010d60c;\n          local_34 = *(int *******)(local_88 + 0x18);\n          local_30 = *(int *******)(local_88 + 0x1c);\n          cVar3 = *(char *)(local_88 + 0x31);\n          if (cVar3 == '\x01') goto LAB_0010de98;\n          pppppppiVar16 = (int *******)param_1[0x1d];\n          if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }\n          *(undefined1 *)(pppppppiVar16 + 5) = 1;\n          if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }\n          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n          if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }\nLAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n          if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }\n          if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }\n        }" ({ "{") (if_statement "if (local_e8 != (int ******)0x0) {\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }" (if "if") (parenthesized_expression "(local_e8 != (int ******)0x0)" (( "(") (binary_expression "local_e8 != (int ******)0x0" (identifier "local_e8") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }\n            goto LAB_0010de50;\n          }" ({ "{") (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }\n            else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" (if "if") (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" (( "(") (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" (* "*") (cast_expression "(uint *)(unaff_s1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x24)" (( "(") (binary_expression "unaff_s1 + 0x24" (identifier "unaff_s1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);\n              ppppppiVar22 = (int ******)0x0;\n              local_b4 = (int *****)0x0;\n              local_dc = (int ******)0x0;\n            }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x49") (, ",") (number_literal "0") (, ",") (identifier "local_ac") (, ",") (identifier "local_e4") () ")"))) (; ";")) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" (identifier "ppppppiVar22") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" (identifier "local_b4") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" (identifier "local_dc") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" (else "else") (compound_statement "{\n              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n              param_1[0xb] = local_dc;\n            }" ({ "{") (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" (identifier "local_b4") (= "=") (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s5 + 0x32)" (* "*") (cast_expression "(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s5 + 0x32)" (( "(") (binary_expression "unaff_s5 + 0x32" (identifier "unaff_s5") (+ "+") (number_literal "0x32")) () ")"))))))) (; ";")) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" (identifier "ppppppiVar22") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + 1)" (( "(") (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" (identifier "local_dc") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" (( "(") (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "local_dc")) (; ";")) (} "}")))) (goto_statement "goto LAB_0010de50;" (goto "goto") (statement_identifier "LAB_0010de50") (; ";")) (} "}"))) (expression_statement "local_9c = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "local_9c = (int ******)((int)param_1[0xb] + 1)" (identifier "local_9c") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + 1)" (( "(") (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (expression_statement "param_1[0xb] = local_9c;" (assignment_expression "param_1[0xb] = local_9c" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0x46,0,local_9c,0);" (call_expression "(*pcVar13)(unaff_s7,0x46,0,local_9c,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x46,0,local_9c,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x46") (, ",") (number_literal "0") (, ",") (identifier "local_9c") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }\n          else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" (if "if") (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" (( "(") (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" (* "*") (cast_expression "(uint *)(unaff_s1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x24)" (( "(") (binary_expression "unaff_s1 + 0x24" (identifier "unaff_s1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);\nLAB_0010efcc:\n            local_dc = (int ******)0x0;\n            ppppppiVar22 = (int ******)0x0;\n            iVar8 = 0;\n            local_a0 = (int ******)0x0;\n            local_b4 = (int *****)0x0;\n          }" ({ "{") (expression_statement "(*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);" (call_expression "(*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x49,0,local_ac,local_e4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x49") (, ",") (number_literal "0") (, ",") (identifier "local_ac") (, ",") (identifier "local_e4") () ")"))) (; ";")) (labeled_statement "LAB_0010efcc:\n            local_dc = (int ******)0x0;" (statement_identifier "LAB_0010efcc") (: ":") (expression_statement "local_dc = (int ******)0x0;" (assignment_expression "local_dc = (int ******)0x0" (identifier "local_dc") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" (identifier "ppppppiVar22") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a0 = (int ******)0x0;" (assignment_expression "local_a0 = (int ******)0x0" (identifier "local_a0") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" (identifier "local_b4") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" (else "else") (compound_statement "{\n            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);\n            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);\n            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);\n            param_1[0xb] = local_dc;\nLAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            local_a0 = param_1[10];\n            param_1[10] = (int ******)((int)local_a0 + 1);\n            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));\n            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);\n            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);\n          }" ({ "{") (expression_statement "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);" (assignment_expression "local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32)" (identifier "local_b4") (= "=") (cast_expression "(int *****)(int)*(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (cast_expression "(int)*(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s5 + 0x32)" (* "*") (cast_expression "(short *)(unaff_s5 + 0x32)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s5 + 0x32)" (( "(") (binary_expression "unaff_s5 + 0x32" (identifier "unaff_s5") (+ "+") (number_literal "0x32")) () ")"))))))) (; ";")) (expression_statement "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);" (assignment_expression "ppppppiVar22 = (int ******)((int)param_1[0xb] + 1)" (identifier "ppppppiVar22") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + 1)" (( "(") (binary_expression "(int)param_1[0xb] + 1" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);" (assignment_expression "local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1)" (identifier "local_dc") (= "=") (cast_expression "(int ******)((int)param_1[0xb] + (int)local_b4 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xb] + (int)local_b4 + 1)" (( "(") (binary_expression "(int)param_1[0xb] + (int)local_b4 + 1" (binary_expression "(int)param_1[0xb] + (int)local_b4" (cast_expression "(int)param_1[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[0xb] = local_dc;" (assignment_expression "param_1[0xb] = local_dc" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "local_dc")) (; ";")) (labeled_statement "LAB_0010e728:\n            local_f0 = (code *)(puVar5 + 0x10fc);" (statement_identifier "LAB_0010e728") (: ":") (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(puVar5 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x10fc)" (( "(") (binary_expression "puVar5 + 0x10fc" (identifier "puVar5") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";"))) (expression_statement "local_a0 = param_1[10];" (assignment_expression "local_a0 = param_1[10]" (identifier "local_a0") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "param_1[10] = (int ******)((int)local_a0 + 1);" (assignment_expression "param_1[10] = (int ******)((int)local_a0 + 1)" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(int ******)((int)local_a0 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_a0 + 1)" (( "(") (binary_expression "(int)local_a0 + 1" (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));" (call_expression "(*local_f0)(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1))" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x49,0,ppppppiVar22,\n                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1))" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x49") (, ",") (number_literal "0") (, ",") (identifier "ppppppiVar22") (, ",") (cast_expression "(code *)((int)ppppppiVar22 + (int)local_b4 + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar22 + (int)local_b4 + -1)" (( "(") (binary_expression "(int)ppppppiVar22 + (int)local_b4 + -1" (binary_expression "(int)ppppppiVar22 + (int)local_b4" (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22")) (+ "+") (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4"))) (+ "+") (number_literal "-1")) () ")"))) () ")"))) (; ";")) (expression_statement "iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);" (assignment_expression "iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0)" (identifier "iVar8") (= "=") (call_expression "(*local_f0)(unaff_s7,0x71,local_a0,local_b4,0)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x71,local_a0,local_b4,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x71") (, ",") (identifier "local_a0") (, ",") (identifier "local_b4") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x62dc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x62dc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x62dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + -0x62dc)" (( "(") (binary_expression "PTR_LAB_00190bc4 + -0x62dc" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "-0x62dc")) () ")")))) () ")")) (argument_list "(param_1,unaff_s5)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s5") () ")"))) (; ";")) (} "}")))) (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(puVar5 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x10fc)" (( "(") (binary_expression "puVar5 + 0x10fc" (identifier "puVar5") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (expression_statement "uVar21 = 0x1004;" (assignment_expression "uVar21 = 0x1004" (identifier "uVar21") (= "=") (number_literal "0x1004")) (; ";")) (if_statement "if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {\n            uVar21 = 0x100c;\n          }" (if "if") (parenthesized_expression "(((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0))" (( "(") (binary_expression "((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&\n             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)" (parenthesized_expression "((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0))" (( "(") (binary_expression "(local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&\n              (uVar21 = 0x1004, local_d0 == (int ******)0x0)" (parenthesized_expression "(local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0')" (( "(") (binary_expression "local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0'" (binary_expression "local_c4 == (code *)0x0" (identifier "local_c4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" (* "*") (cast_expression "(char *)((int)param_1 + 0x12)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x12)" (( "(") (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x12")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")")) (&& "&&") (parenthesized_expression "(uVar21 = 0x1004, local_d0 == (int ******)0x0)" (( "(") (comma_expression "uVar21 = 0x1004, local_d0 == (int ******)0x0" (assignment_expression "uVar21 = 0x1004" (identifier "uVar21") (= "=") (number_literal "0x1004")) (, ",") (binary_expression "local_d0 == (int ******)0x0" (identifier "local_d0") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)" (( "(") (comma_expression "uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0" (assignment_expression "uVar21 = 0x1004" (identifier "uVar21") (= "=") (number_literal "0x1004")) (, ",") (binary_expression "local_c0 == (int ******)0x0 && local_60 == 0" (binary_expression "local_c0 == (int ******)0x0" (identifier "local_c0") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n            uVar21 = 0x100c;\n          }" ({ "{") (expression_statement "uVar21 = 0x100c;" (assignment_expression "uVar21 = 0x100c" (identifier "uVar21") (= "=") (number_literal "0x100c")) (; ";")) (} "}"))) (expression_statement "local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);" (assignment_expression "local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8)" (identifier "local_88") (= "=") (call_expression "FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8)" (identifier "FUN_000f3790") (argument_list "(param_1,param_2,param_4,0,0,uVar21,local_c8)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar21") (, ",") (identifier "local_c8") () ")")))) (; ";")) (if_statement "if (local_88 == 0) goto LAB_0010d60c;" (if "if") (parenthesized_expression "(local_88 == 0)" (( "(") (binary_expression "local_88 == 0" (identifier "local_88") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0010d60c;" (goto "goto") (statement_identifier "LAB_0010d60c") (; ";"))) (expression_statement "local_34 = *(int *******)(local_88 + 0x18);" (assignment_expression "local_34 = *(int *******)(local_88 + 0x18)" (identifier "local_34") (= "=") (pointer_expression "*(int *******)(local_88 + 0x18)" (* "*") (cast_expression "(int *******)(local_88 + 0x18)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_88 + 0x18)" (( "(") (binary_expression "local_88 + 0x18" (identifier "local_88") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_30 = *(int *******)(local_88 + 0x1c);" (assignment_expression "local_30 = *(int *******)(local_88 + 0x1c)" (identifier "local_30") (= "=") (pointer_expression "*(int *******)(local_88 + 0x1c)" (* "*") (cast_expression "(int *******)(local_88 + 0x1c)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_88 + 0x1c)" (( "(") (binary_expression "local_88 + 0x1c" (identifier "local_88") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "cVar3 = *(char *)(local_88 + 0x31);" (assignment_expression "cVar3 = *(char *)(local_88 + 0x31)" (identifier "cVar3") (= "=") (pointer_expression "*(char *)(local_88 + 0x31)" (* "*") (cast_expression "(char *)(local_88 + 0x31)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_88 + 0x31)" (( "(") (binary_expression "local_88 + 0x31" (identifier "local_88") (+ "+") (number_literal "0x31")) () ")"))))) (; ";")) (if_statement "if (cVar3 == '\x01') goto LAB_0010de98;" (if "if") (parenthesized_expression "(cVar3 == '\x01')" (( "(") (binary_expression "cVar3 == '\x01'" (identifier "cVar3") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (goto_statement "goto LAB_0010de98;" (goto "goto") (statement_identifier "LAB_0010de98") (; ";"))) (expression_statement "pppppppiVar16 = (int *******)param_1[0x1d];" (assignment_expression "pppppppiVar16 = (int *******)param_1[0x1d]" (identifier "pppppppiVar16") (= "=") (cast_expression "(int *******)param_1[0x1d]" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")))) (; ";")) (if_statement "if ((int *******)param_1[0x1d] == (int *******)0x0) {\n            pppppppiVar16 = param_1;\n          }" (if "if") (parenthesized_expression "((int *******)param_1[0x1d] == (int *******)0x0)" (( "(") (binary_expression "(int *******)param_1[0x1d] == (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]"))) (== "==") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pppppppiVar16 = param_1;\n          }" ({ "{") (expression_statement "pppppppiVar16 = param_1;" (assignment_expression "pppppppiVar16 = param_1" (identifier "pppppppiVar16") (= "=") (identifier "param_1")) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(pppppppiVar16 + 5) = 1;" (assignment_expression "*(undefined1 *)(pppppppiVar16 + 5) = 1" (pointer_expression "*(undefined1 *)(pppppppiVar16 + 5)" (* "*") (cast_expression "(undefined1 *)(pppppppiVar16 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppiVar16 + 5)" (( "(") (binary_expression "pppppppiVar16 + 5" (identifier "pppppppiVar16") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (cVar3 == '\x02') {\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }" (if "if") (parenthesized_expression "(cVar3 == '\x02')" (( "(") (binary_expression "cVar3 == '\x02'" (identifier "cVar3") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;\n            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }\n            cVar3 = '\0';\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010ee9c;\n          }" ({ "{") (if_statement "if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;" (if "if") (parenthesized_expression "((((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0))" (( "(") (binary_expression "(((int)local_30 < 0) || (unaff_s8 == local_30)) ||\n               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)" (parenthesized_expression "(((int)local_30 < 0) || (unaff_s8 == local_30))" (( "(") (binary_expression "((int)local_30 < 0) || (unaff_s8 == local_30)" (parenthesized_expression "((int)local_30 < 0)" (( "(") (binary_expression "(int)local_30 < 0" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(unaff_s8 == local_30)" (( "(") (binary_expression "unaff_s8 == local_30" (identifier "unaff_s8") (== "==") (identifier "local_30")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_98[(int)local_30 - (int)local_d4] == (code)0x0)" (( "(") (binary_expression "local_98[(int)local_30 - (int)local_d4] == (code)0x0" (subscript_expression "local_98[(int)local_30 - (int)local_d4]" (identifier "local_98") ([ "[") (binary_expression "(int)local_30 - (int)local_d4" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (- "-") (cast_expression "(int)local_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d4"))) (] "]")) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto LAB_0010de98;" (goto "goto") (statement_identifier "LAB_0010de98") (; ";"))) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }" (if "if") (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" (( "(") (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" (* "*") (cast_expression "(uint *)(unaff_s1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x24)" (( "(") (binary_expression "unaff_s1 + 0x24" (identifier "unaff_s1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);\n              goto LAB_0010e8bc;\n            }" ({ "{") (expression_statement "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x80") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_e4") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_0010e8bc;" (goto "goto") (statement_identifier "LAB_0010e8bc") (; ";")) (} "}"))) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" (identifier "cVar3") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (0 < (int)local_b4) goto LAB_0010deb0;" (if "if") (parenthesized_expression "(0 < (int)local_b4)" (( "(") (binary_expression "0 < (int)local_b4" (number_literal "0") (< "<") (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4"))) () ")")) (goto_statement "goto LAB_0010deb0;" (goto "goto") (statement_identifier "LAB_0010deb0") (; ";"))) (goto_statement "goto LAB_0010ee9c;" (goto "goto") (statement_identifier "LAB_0010ee9c") (; ";")) (} "}"))) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }" (if "if") (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0)" (( "(") (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) != 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" (( "(") (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" (* "*") (cast_expression "(uint *)(unaff_s1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x24)" (( "(") (binary_expression "unaff_s1 + 0x24" (identifier "unaff_s1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if (0 < (int)local_b4) goto LAB_0010deb0;\n            goto LAB_0010df30;\n          }" ({ "{") (if_statement "if (0 < (int)local_b4) goto LAB_0010deb0;" (if "if") (parenthesized_expression "(0 < (int)local_b4)" (( "(") (binary_expression "0 < (int)local_b4" (number_literal "0") (< "<") (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4"))) () ")")) (goto_statement "goto LAB_0010deb0;" (goto "goto") (statement_identifier "LAB_0010deb0") (; ";"))) (goto_statement "goto LAB_0010df30;" (goto "goto") (statement_identifier "LAB_0010df30") (; ";")) (} "}"))) (expression_statement "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x80,unaff_s8,local_e4,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x80") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_e4") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (cVar3 == '\0') {\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);\n            cVar3 = '\0';\n          }" ({ "{") (labeled_statement "LAB_0010e8bc:\n            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);" (statement_identifier "LAB_0010e8bc") (: ":") (expression_statement "(*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);" (call_expression "(*local_f0)(unaff_s7,0x94,local_ac,local_e4,0)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x94,local_ac,local_e4,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x94") (, ",") (identifier "local_ac") (, ",") (identifier "local_e4") (, ",") (number_literal "0") () ")"))) (; ";"))) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" (identifier "cVar3") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (labeled_statement "LAB_0010e8dc:\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (statement_identifier "LAB_0010e8dc") (: ":") (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x592c" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x592c")) () ")")))) () ")")) (argument_list "(local_88)" (( "(") (identifier "local_88") () ")"))) (; ";"))) (if_statement "if (local_bc == 0) {\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }\n          else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" (if "if") (parenthesized_expression "(local_bc == 0)" (( "(") (binary_expression "local_bc == 0" (identifier "local_bc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_b4 = (int *****)0x0;\nLAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }\n            if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }\n          }" ({ "{") (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" (identifier "local_b4") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0010ea7c:\n            if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" (statement_identifier "LAB_0010ea7c") (: ":") (if_statement "if (cVar3 == '\0') {\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }\n            else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);\n              if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }\n            }" ({ "{") (labeled_statement "LAB_0010e634:\n              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);" (statement_identifier "LAB_0010e634") (: ":") (expression_statement "pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);" (assignment_expression "pppppppiVar16 = *(int ********)(unaff_s1 + 0x38)" (identifier "pppppppiVar16") (= "=") (pointer_expression "*(int ********)(unaff_s1 + 0x38)" (* "*") (cast_expression "(int ********)(unaff_s1 + 0x38)" (( "(") (type_descriptor "int ********" (primitive_type "int") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(unaff_s1 + 0x38)" (( "(") (binary_expression "unaff_s1 + 0x38" (identifier "unaff_s1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";"))) (if_statement "if (pppppppiVar16 == (int *******)0x0) {\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }" (if "if") (parenthesized_expression "(pppppppiVar16 == (int *******)0x0)" (( "(") (binary_expression "pppppppiVar16 == (int *******)0x0" (identifier "pppppppiVar16") (== "==") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);\n                local_90 = pppppppiVar16;\n                goto LAB_0010e680;\n              }" ({ "{") (labeled_statement "LAB_0010e640:\n                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);" (statement_identifier "LAB_0010e640") (: ":") (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))\n                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x64e0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x64e0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x64e0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x64e0)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x64e0" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x64e0")) () ")")))) () ")")) (argument_list "(param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (number_literal "0x6e") (, ",") (number_literal "0") (, ",") (identifier "local_d4") (, ",") (identifier "local_98") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";"))) (expression_statement "local_90 = pppppppiVar16;" (assignment_expression "local_90 = pppppppiVar16" (identifier "local_90") (= "=") (identifier "pppppppiVar16")) (; ";")) (goto_statement "goto LAB_0010e680;" (goto "goto") (statement_identifier "LAB_0010e680") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" (else "else") (compound_statement "{\nLAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }\n              if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }\n              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;\n              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);\n              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;\nLAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }\n            }" ({ "{") (labeled_statement "LAB_0010e5d8:\n              if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" (statement_identifier "LAB_0010e5d8") (: ":") (if_statement "if (-1 < (int)local_34) {\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" (if "if") (parenthesized_expression "(-1 < (int)local_34)" (( "(") (binary_expression "-1 < (int)local_34" (number_literal "-1") (< "<") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) () ")")) (compound_statement "{\n                local_98[(int)local_34 - (int)local_d4] = (code)0x0;\n              }" ({ "{") (expression_statement "local_98[(int)local_34 - (int)local_d4] = (code)0x0;" (assignment_expression "local_98[(int)local_34 - (int)local_d4] = (code)0x0" (subscript_expression "local_98[(int)local_34 - (int)local_d4]" (identifier "local_98") ([ "[") (binary_expression "(int)local_34 - (int)local_d4" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (- "-") (cast_expression "(int)local_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d4"))) (] "]")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (if_statement "if (-1 < (int)local_30) {\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }" (if "if") (parenthesized_expression "(-1 < (int)local_30)" (( "(") (binary_expression "-1 < (int)local_30" (number_literal "-1") (< "<") (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30"))) () ")")) (compound_statement "{\n                local_98[(int)local_30 - (int)local_d4] = (code)0x0;\n              }" ({ "{") (expression_statement "local_98[(int)local_30 - (int)local_d4] = (code)0x0;" (assignment_expression "local_98[(int)local_30 - (int)local_d4] = (code)0x0" (subscript_expression "local_98[(int)local_30 - (int)local_d4]" (identifier "local_98") ([ "[") (binary_expression "(int)local_30 - (int)local_d4" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (- "-") (cast_expression "(int)local_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d4"))) (] "]")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (if_statement "if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))\n              goto LAB_0010e634;" (if "if") (parenthesized_expression "((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))" (( "(") (binary_expression "(cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1)" (parenthesized_expression "(cVar3 != '\x02')" (( "(") (binary_expression "cVar3 != '\x02'" (identifier "cVar3") (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1)" (( "(") (binary_expression "(int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1" (binary_expression "(int)local_90 + ((int)~(uint)local_30 >> 0x1f)" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (parenthesized_expression "((int)~(uint)local_30 >> 0x1f)" (( "(") (binary_expression "(int)~(uint)local_30 >> 0x1f" (cast_expression "(int)~(uint)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "~(uint)local_30" (~ "~") (cast_expression "(uint)local_30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_30")))) (>> ">>") (number_literal "0x1f")) () ")"))) (< "<") (number_literal "1")) () ")"))) () ")")) (goto_statement "goto LAB_0010e634;" (goto "goto") (statement_identifier "LAB_0010e634") (; ";"))) (expression_statement "pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);" (assignment_expression "pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0)" (identifier "pppppppiVar16") (= "=") (cast_expression "(int *******)(*local_f0)(unaff_s7,0x11,0,0,0)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*local_f0)(unaff_s7,0x11,0,0,0)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x11,0,0,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x11") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;" (if "if") (parenthesized_expression "(*(int *)(unaff_s1 + 0x38) == 0)" (( "(") (binary_expression "*(int *)(unaff_s1 + 0x38) == 0" (pointer_expression "*(int *)(unaff_s1 + 0x38)" (* "*") (cast_expression "(int *)(unaff_s1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x38)" (( "(") (binary_expression "unaff_s1 + 0x38" (identifier "unaff_s1") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0010e640;" (goto "goto") (statement_identifier "LAB_0010e640") (; ";"))) (labeled_statement "LAB_0010e680:\n              if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" (statement_identifier "LAB_0010e680") (: ":") (if_statement "if (pppppppiVar16 != (int *******)0x0) {\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" (if "if") (parenthesized_expression "(pppppppiVar16 != (int *******)0x0)" (( "(") (binary_expression "pppppppiVar16 != (int *******)0x0" (identifier "pppppppiVar16") (!= "!=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                ppppppiVar30 = unaff_s7[0x1b];\n                if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }\n                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }\n              }" ({ "{") (expression_statement "ppppppiVar30 = unaff_s7[0x1b];" (assignment_expression "ppppppiVar30 = unaff_s7[0x1b]" (identifier "ppppppiVar30") (= "=") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if ((int)pppppppiVar16 < 0) {\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }" (if "if") (parenthesized_expression "((int)pppppppiVar16 < 0)" (( "(") (binary_expression "(int)pppppppiVar16 < 0" (cast_expression "(int)pppppppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppiVar16")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);\n                }" ({ "{") (expression_statement "pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);" (assignment_expression "pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1)" (identifier "pppppppiVar16") (= "=") (cast_expression "(int *******)((int)ppppppiVar30 + -1)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)ppppppiVar30 + -1)" (( "(") (binary_expression "(int)ppppppiVar30 + -1" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }\n                else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" (if "if") (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" (* "*") (cast_expression "(char *)((int)*unaff_s7 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*unaff_s7 + 0x51)" (( "(") (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;\n                }" ({ "{") (expression_statement "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;" (assignment_expression "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30" (subscript_expression "unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2]" (subscript_expression "unaff_s7[0x1a]" (identifier "unaff_s7") ([ "[") (number_literal "0x1a") (] "]")) ([ "[") (binary_expression "(int)pppppppiVar16 * 6 + 2" (binary_expression "(int)pppppppiVar16 * 6" (cast_expression "(int)pppppppiVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppiVar16")) (* "*") (number_literal "6")) (+ "+") (number_literal "2")) (] "]")) (= "=") (cast_expression "(int *****)ppppppiVar30" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppiVar30"))) (; ";")) (} "}")) (else_clause "else {\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" (else "else") (compound_statement "{\n                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;\n                }" ({ "{") (expression_statement "*(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;" (assignment_expression "*(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30" (pointer_expression "*(int *******)(PTR_DAT_00190948 + 0xfc4)" (* "*") (cast_expression "(int *******)(PTR_DAT_00190948 + 0xfc4)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(PTR_DAT_00190948 + 0xfc4)" (( "(") (binary_expression "PTR_DAT_00190948 + 0xfc4" (identifier "PTR_DAT_00190948") (+ "+") (number_literal "0xfc4")) () ")")))) (= "=") (identifier "ppppppiVar30")) (; ";")) (} "}")))) (} "}")))) (} "}"))))) (if_statement "if (cVar3 != '\0') {\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }\n              goto LAB_0010e700;\n            }" ({ "{") (if_statement "if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }" (if "if") (parenthesized_expression "((local_34 != unaff_s8) && (local_30 != unaff_s8))" (( "(") (binary_expression "(local_34 != unaff_s8) && (local_30 != unaff_s8)" (parenthesized_expression "(local_34 != unaff_s8)" (( "(") (binary_expression "local_34 != unaff_s8" (identifier "local_34") (!= "!=") (identifier "unaff_s8")) () ")")) (&& "&&") (parenthesized_expression "(local_30 != unaff_s8)" (( "(") (binary_expression "local_30 != unaff_s8" (identifier "local_30") (!= "!=") (identifier "unaff_s8")) () ")"))) () ")")) (compound_statement "{\n                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);\n              }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x13a0" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x13a0")) () ")")))) () ")")) (argument_list "(unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x1c") (, ",") (identifier "unaff_s8") (, ",") (identifier "ppppppiVar9") (, ",") (identifier "local_dc") (, ",") (identifier "local_b4") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0010e700;" (goto "goto") (statement_identifier "LAB_0010e700") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" (else "else") (compound_statement "{\n            local_b4 = (int *****)0x0;\n            if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }\n          }" ({ "{") (expression_statement "local_b4 = (int *****)0x0;" (assignment_expression "local_b4 = (int *****)0x0" (identifier "local_b4") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (cVar3 != '\0') {\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0010e700:\n              local_d4 = ppppppiVar9;\n              if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }\nLAB_0010e580:\n              ppppppiVar30 = local_e4;\n              if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }\n              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);\n              local_ac = 0;\n              goto LAB_0010df54;\n            }" ({ "{") (labeled_statement "LAB_0010e700:\n              local_d4 = ppppppiVar9;" (statement_identifier "LAB_0010e700") (: ":") (expression_statement "local_d4 = ppppppiVar9;" (assignment_expression "local_d4 = ppppppiVar9" (identifier "local_d4") (= "=") (identifier "ppppppiVar9")) (; ";"))) (if_statement "if (cVar3 != '\x01') {\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }" (if "if") (parenthesized_expression "(cVar3 != '\x01')" (( "(") (binary_expression "cVar3 != '\x01'" (identifier "cVar3") (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n                ppppppiVar30 = param_1[0xe];\n                goto LAB_0010e570;\n              }" ({ "{") (expression_statement "ppppppiVar30 = param_1[0xe];" (assignment_expression "ppppppiVar30 = param_1[0xe]" (identifier "ppppppiVar30") (= "=") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (goto_statement "goto LAB_0010e570;" (goto "goto") (statement_identifier "LAB_0010e570") (; ";")) (} "}"))) (labeled_statement "LAB_0010e580:\n              ppppppiVar30 = local_e4;" (statement_identifier "LAB_0010e580") (: ":") (expression_statement "ppppppiVar30 = local_e4;" (assignment_expression "ppppppiVar30 = local_e4" (identifier "ppppppiVar30") (= "=") (identifier "local_e4")) (; ";"))) (if_statement "if (unaff_s5 != (code *)0x0) {\n                ppppppiVar30 = local_dc;\n              }" (if "if") (parenthesized_expression "(unaff_s5 != (code *)0x0)" (( "(") (binary_expression "unaff_s5 != (code *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                ppppppiVar30 = local_dc;\n              }" ({ "{") (expression_statement "ppppppiVar30 = local_dc;" (assignment_expression "ppppppiVar30 = local_dc" (identifier "ppppppiVar30") (= "=") (identifier "local_dc")) (; ";")) (} "}"))) (expression_statement "(*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);" (call_expression "(*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x32") (, ",") (identifier "ppppppiVar30") (, ",") (identifier "ppppppiVar9") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0010df54;" (goto "goto") (statement_identifier "LAB_0010df54") (; ";")) (} "}"))) (} "}")))) (if_statement "if (unaff_s5 == (code *)0x0) {\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }\n          else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" (if "if") (parenthesized_expression "(unaff_s5 == (code *)0x0)" (( "(") (binary_expression "unaff_s5 == (code *)0x0" (identifier "unaff_s5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);\n            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n            cVar3 = '\0';\n            local_ac = 0;\n          }" ({ "{") (expression_statement "local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);" (assignment_expression "local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" (identifier "local_d4") (= "=") (cast_expression "(int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x29") (, ",") (identifier "local_ac") (, ",") (identifier "ppppppiVar9") (, ",") (identifier "local_e4") () ")"))))) (; ";")) (expression_statement "(*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);" (call_expression "(*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x1f") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_d4") (, ",") (identifier "local_e4") () ")"))) (; ";")) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" (identifier "cVar3") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" (else "else") (compound_statement "{\n            local_d4 = (int ******)((int)param_1[0xe] - 1);\n            param_1[0xe] = local_d4;\n            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);\n            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);\n            cVar3 = '\0';\n          }" ({ "{") (expression_statement "local_d4 = (int ******)((int)param_1[0xe] - 1);" (assignment_expression "local_d4 = (int ******)((int)param_1[0xe] - 1)" (identifier "local_d4") (= "=") (cast_expression "(int ******)((int)param_1[0xe] - 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_1[0xe] - 1)" (( "(") (binary_expression "(int)param_1[0xe] - 1" (cast_expression "(int)param_1[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1[0xe] = local_d4;" (assignment_expression "param_1[0xe] = local_d4" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "local_d4")) (; ";")) (expression_statement "(*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);" (call_expression "(*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x24,local_a0,ppppppiVar9,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x24") (, ",") (identifier "local_a0") (, ",") (identifier "ppppppiVar9") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);" (assignment_expression "local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0)" (identifier "local_ac") (= "=") (call_expression "(*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x7f,local_a0,local_dc,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x7f") (, ",") (identifier "local_a0") (, ",") (identifier "local_dc") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x13a0" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x13a0")) () ")")))) () ")")) (argument_list "(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x1c") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_d4") (, ",") (identifier "local_dc") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "cVar3 = '\0';" (assignment_expression "cVar3 = '\0'" (identifier "cVar3") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_0010df54:\n        if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" (statement_identifier "LAB_0010df54") (: ":") (if_statement "if (local_d8 != (code *)0x0) {\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" (if "if") (parenthesized_expression "(local_d8 != (code *)0x0)" (( "(") (binary_expression "local_d8 != (code *)0x0" (identifier "local_d8") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);\n        }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);" (call_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190c58 + -0x7cdc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" (( "(") (binary_expression "PTR_LAB_00190c58 + -0x7cdc" (identifier "PTR_LAB_00190c58") (+ "+") (number_literal "-0x7cdc")) () ")")))) () ")")) (argument_list "(param_1,local_b8,local_cc)" (( "(") (identifier "param_1") (, ",") (identifier "local_b8") (, ",") (identifier "local_cc") () ")"))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0xf,local_cc,0,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0xf") (, ",") (identifier "local_cc") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_a8 == (code *)0x0) {\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }\n        else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" (if "if") (parenthesized_expression "(local_a8 == (code *)0x0)" (( "(") (binary_expression "local_a8 == (code *)0x0" (identifier "local_a8") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }\n          if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n        }" ({ "{") (if_statement "if (local_c0 != (int ******)0x0) {\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }" (if "if") (parenthesized_expression "(local_c0 != (int ******)0x0)" (( "(") (binary_expression "local_c0 != (int ******)0x0" (identifier "local_c0") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;\n            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);\n            goto LAB_0010df80;\n          }" ({ "{") (labeled_statement "LAB_0010e4cc:\n            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;" (statement_identifier "LAB_0010e4cc") (: ":") (if_statement "if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;" (if "if") (parenthesized_expression "(((uint)(*param_1)[9] & 0x4000) == 0)" (( "(") (binary_expression "((uint)(*param_1)[9] & 0x4000) == 0" (parenthesized_expression "((uint)(*param_1)[9] & 0x4000)" (( "(") (binary_expression "(uint)(*param_1)[9] & 0x4000" (subscript_expression "(uint)(*param_1)[9]" (call_expression "(uint)(*param_1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")"))) ([ "[") (number_literal "9") (] "]")) (& "&") (number_literal "0x4000")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0010df7c;" (goto "goto") (statement_identifier "LAB_0010df7c") (; ";")))) (expression_statement "uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);" (assignment_expression "uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1)" (identifier "uVar23") (= "=") (call_expression "(*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + -0x6eb0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + -0x6eb0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x6eb0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + -0x6eb0)" (( "(") (binary_expression "PTR_LAB_00190bc4 + -0x6eb0" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "-0x6eb0")) () ")")))) () ")")) (argument_list "(param_1,unaff_s1)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") () ")")))) (; ";")) (goto_statement "goto LAB_0010df80;" (goto "goto") (statement_identifier "LAB_0010df80") (; ";")) (} "}"))) (if_statement "if (local_d0 != (int ******)0x0) {\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }" (if "if") (parenthesized_expression "(local_d0 != (int ******)0x0)" (( "(") (binary_expression "local_d0 != (int ******)0x0" (identifier "local_d0") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0010df7c:\n            uVar23 = 0;\n            goto LAB_0010df80;\n          }" ({ "{") (labeled_statement "LAB_0010df7c:\n            uVar23 = 0;" (statement_identifier "LAB_0010df7c") (: ":") (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto LAB_0010df80;" (goto "goto") (statement_identifier "LAB_0010df80") (; ";")) (} "}"))) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x3b58)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc8 + -0x3b58)" (( "(") (binary_expression "PTR_LAB_00190bc8 + -0x3b58" (identifier "PTR_LAB_00190bc8") (+ "+") (number_literal "-0x3b58")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" (else "else") (compound_statement "{\n          uVar23 = 0;\n          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;\nLAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);\n          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }\n          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }\n        }" ({ "{") (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;" (if "if") (parenthesized_expression "(local_c0 != (int ******)0x0)" (( "(") (binary_expression "local_c0 != (int ******)0x0" (identifier "local_c0") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010e4cc;" (goto "goto") (statement_identifier "LAB_0010e4cc") (; ";"))) (labeled_statement "LAB_0010df80:\n          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (statement_identifier "LAB_0010df80") (: ":") (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x3b58)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc8 + -0x3b58)" (( "(") (binary_expression "PTR_LAB_00190bc8 + -0x3b58" (identifier "PTR_LAB_00190bc8") (+ "+") (number_literal "-0x3b58")) () ")")))) (; ";"))) (expression_statement "uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);" (assignment_expression "uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" (identifier "uVar11") (= "=") (call_expression "FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" (identifier "FUN_0010c4a8") (argument_list "(param_1,local_d0,param_3,0,3,unaff_s1,param_5)" (( "(") (identifier "param_1") (, ",") (identifier "local_d0") (, ",") (identifier "param_3") (, ",") (number_literal "0") (, ",") (number_literal "3") (, ",") (identifier "unaff_s1") (, ",") (identifier "param_5") () ")")))) (; ";")) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }" (if "if") (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" (number_literal "0") (< "<") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")"))))) () ")")) (compound_statement "{\n            uVar25 = 0;\n            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));\n          }" ({ "{") (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" (identifier "local_a8") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x4eb8")) () ")")))) (; ";")) (expression_statement "local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "local_98") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (do_statement "do {\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));" (do "do") (compound_statement "{\n              if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }\n              uVar25 = uVar25 + 1;\n              local_90 = param_1;\n            }" ({ "{") (if_statement "if (((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }\n              else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" (if "if") (parenthesized_expression "(((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0))))" (( "(") (binary_expression "((uVar23 | uVar11) == 0xffffffff) ||\n                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))" (parenthesized_expression "((uVar23 | uVar11) == 0xffffffff)" (( "(") (binary_expression "(uVar23 | uVar11) == 0xffffffff" (parenthesized_expression "(uVar23 | uVar11)" (( "(") (binary_expression "uVar23 | uVar11" (identifier "uVar23") (| "|") (identifier "uVar11")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))" (( "(") (parenthesized_expression "(((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0))" (( "(") (binary_expression "((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||\n                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)" (parenthesized_expression "((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0))" (( "(") (binary_expression "(int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)" (binary_expression "(int)uVar25 < 0x20" (cast_expression "(int)uVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar25")) (< "<") (number_literal "0x20")) (&& "&&") (parenthesized_expression "((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)" (( "(") (binary_expression "(1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0" (parenthesized_expression "(1 << (uVar25 & 0x1f) & (uVar23 | uVar11))" (( "(") (binary_expression "1 << (uVar25 & 0x1f) & (uVar23 | uVar11)" (binary_expression "1 << (uVar25 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar25 & 0x1f)" (( "(") (binary_expression "uVar25 & 0x1f" (identifier "uVar25") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (parenthesized_expression "(uVar23 | uVar11)" (( "(") (binary_expression "uVar23 | uVar11" (identifier "uVar23") (| "|") (identifier "uVar11")) () ")"))) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1)" (( "(") (binary_expression "*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1" (pointer_expression "*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" (* "*") (cast_expression "(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf)" (( "(") (binary_expression "*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf" (binary_expression "*(int *)(unaff_s1 + 4) + uVar25 * 0x10" (pointer_expression "*(int *)(unaff_s1 + 4)" (* "*") (cast_expression "(int *)(unaff_s1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 4)" (( "(") (binary_expression "unaff_s1 + 4" (identifier "unaff_s1") (+ "+") (number_literal "4")) () ")")))) (+ "+") (binary_expression "uVar25 * 0x10" (identifier "uVar25") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xf")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);\n              }" ({ "{") (expression_statement "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);" (call_expression "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25)" (parenthesized_expression "(*local_a8)" (( "(") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")) () ")")) (argument_list "(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25)" (( "(") (identifier "unaff_s7") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s8") (, ",") (identifier "uVar25") (, ",") (binary_expression "local_94 + uVar25" (identifier "local_94") (+ "+") (identifier "uVar25")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" (else "else") (compound_statement "{\n                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);\n              }" ({ "{") (expression_statement "(*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);" (call_expression "(*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0)" (parenthesized_expression "(*local_98)" (( "(") (pointer_expression "*local_98" (* "*") (identifier "local_98")) () ")")) (argument_list "(unaff_s7,0x49,0,local_94 + uVar25,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x49") (, ",") (number_literal "0") (, ",") (binary_expression "local_94 + uVar25" (identifier "local_94") (+ "+") (identifier "uVar25")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" (identifier "uVar25") (= "=") (binary_expression "uVar25 + 1" (identifier "uVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_90 = param_1;" (assignment_expression "local_90 = param_1" (identifier "local_90") (= "=") (identifier "param_1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "(int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)uVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar25")) (< "<") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) () ")")) (; ";")) (} "}"))) (if_statement "if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }" (if "if") (parenthesized_expression "((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0))" (( "(") (binary_expression "(local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)" (parenthesized_expression "(local_d8 == (code *)0x0)" (( "(") (binary_expression "local_d8 == (code *)0x0" (identifier "local_d8") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(unaff_s5 == (code *)0x0)" (( "(") (binary_expression "unaff_s5 == (code *)0x0" (identifier "unaff_s5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x4e,local_e4,local_cc,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x4e") (, ",") (identifier "local_e4") (, ",") (identifier "local_cc") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);" (assignment_expression "local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" (identifier "local_b8") (= "=") (cast_expression "(code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(param_1,local_d0,param_3,1,1,unaff_s1,param_5)" (( "(") (identifier "param_1") (, ",") (identifier "local_d0") (, ",") (identifier "param_3") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (identifier "unaff_s1") (, ",") (identifier "param_5") () ")"))))) (; ";")) (expression_statement "puVar5 = PTR_LAB_00190c58;" (assignment_expression "puVar5 = PTR_LAB_00190c58" (identifier "puVar5") (= "=") (identifier "PTR_LAB_00190c58")) (; ";")) (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }" (if "if") (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" (number_literal "0") (< "<") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")"))))) () ")")) (compound_statement "{\n          uVar23 = 0;\n          local_f0 = local_ec;\n          local_98 = (code *)PTR_LAB_00190c58;\n          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n          do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));\n        }" ({ "{") (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f0 = local_ec;" (assignment_expression "local_f0 = local_ec" (identifier "local_f0") (= "=") (identifier "local_ec")) (; ";")) (expression_statement "local_98 = (code *)PTR_LAB_00190c58;" (assignment_expression "local_98 = (code *)PTR_LAB_00190c58" (identifier "local_98") (= "=") (cast_expression "(code *)PTR_LAB_00190c58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LAB_00190c58"))) (; ";")) (expression_statement "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" (identifier "local_a8") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x4eb8")) () ")")))) (; ";")) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (do_statement "do {\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));" (do "do") (compound_statement "{\n            pcVar20 = local_8c + uVar23;\n            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }\n            uVar23 = uVar23 + 1;\n            local_f0 = local_f0 + 4;\n          }" ({ "{") (expression_statement "pcVar20 = local_8c + uVar23;" (assignment_expression "pcVar20 = local_8c + uVar23" (identifier "pcVar20") (= "=") (binary_expression "local_8c + uVar23" (identifier "local_8c") (+ "+") (identifier "uVar23"))) (; ";")) (if_statement "if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }\n            else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" (if "if") (parenthesized_expression "((int)*(short *)(unaff_s1 + 0x28) == uVar23)" (( "(") (binary_expression "(int)*(short *)(unaff_s1 + 0x28) == uVar23" (cast_expression "(int)*(short *)(unaff_s1 + 0x28)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x28)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x28)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x28)" (( "(") (binary_expression "unaff_s1 + 0x28" (identifier "unaff_s1") (+ "+") (number_literal "0x28")) () ")"))))) (== "==") (identifier "uVar23")) () ")")) (compound_statement "{\nLAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);\n            }" ({ "{") (labeled_statement "LAB_0010e30c:\n              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);" (statement_identifier "LAB_0010e30c") (: ":") (expression_statement "(*pcVar13)(unaff_s7,0x49,0,pcVar20,0);" (call_expression "(*pcVar13)(unaff_s7,0x49,0,pcVar20,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x49,0,pcVar20,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x49") (, ",") (number_literal "0") (, ",") (identifier "pcVar20") (, ",") (number_literal "0") () ")"))) (; ";"))) (} "}")) (else_clause "else if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" (else "else") (if_statement "if (*(int *)local_f0 < 0) {\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }\n            else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" (if "if") (parenthesized_expression "(*(int *)local_f0 < 0)" (( "(") (binary_expression "*(int *)local_f0 < 0" (pointer_expression "*(int *)local_f0" (* "*") (cast_expression "(int *)local_f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_f0"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;\n              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);\n            }" ({ "{") (if_statement "if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;" (if "if") (parenthesized_expression "((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0))" (( "(") (binary_expression "(((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&\n                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)" (parenthesized_expression "(((local_64 & 1) != 0) && ((int)uVar23 < 0x20))" (( "(") (binary_expression "((local_64 & 1) != 0) && ((int)uVar23 < 0x20)" (parenthesized_expression "((local_64 & 1) != 0)" (( "(") (binary_expression "(local_64 & 1) != 0" (parenthesized_expression "(local_64 & 1)" (( "(") (binary_expression "local_64 & 1" (identifier "local_64") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((int)uVar23 < 0x20)" (( "(") (binary_expression "(int)uVar23 < 0x20" (cast_expression "(int)uVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar23")) (< "<") (number_literal "0x20")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)" (( "(") (binary_expression "((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0" (parenthesized_expression "((uint)local_b8 >> (uVar23 & 0x1f) & 1)" (( "(") (binary_expression "(uint)local_b8 >> (uVar23 & 0x1f) & 1" (binary_expression "(uint)local_b8 >> (uVar23 & 0x1f)" (cast_expression "(uint)local_b8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_b8")) (>> ">>") (parenthesized_expression "(uVar23 & 0x1f)" (( "(") (binary_expression "uVar23 & 0x1f" (identifier "uVar23") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0010e30c;" (goto "goto") (statement_identifier "LAB_0010e30c") (; ";"))) (expression_statement "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);" (call_expression "(*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20)" (parenthesized_expression "(*local_a8)" (( "(") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")) () ")")) (argument_list "(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20)" (( "(") (identifier "unaff_s7") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s8") (, ",") (identifier "uVar23") (, ",") (identifier "pcVar20") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" (else "else") (compound_statement "{\n              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);\n            }" ({ "{") (expression_statement "(*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);" (call_expression "(*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20)" (parenthesized_expression "(*(code *)(puVar5 + -0x7cdc))" (( "(") (pointer_expression "*(code *)(puVar5 + -0x7cdc)" (* "*") (cast_expression "(code *)(puVar5 + -0x7cdc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + -0x7cdc)" (( "(") (binary_expression "puVar5 + -0x7cdc" (identifier "puVar5") (+ "+") (number_literal "-0x7cdc")) () ")")))) () ")")) (argument_list "(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20)" (( "(") (identifier "param_1") (, ",") (subscript_expression "param_3[*(int *)local_f0 * 5 + 1]" (identifier "param_3") ([ "[") (binary_expression "*(int *)local_f0 * 5 + 1" (binary_expression "*(int *)local_f0 * 5" (pointer_expression "*(int *)local_f0" (* "*") (cast_expression "(int *)local_f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_f0"))) (* "*") (number_literal "5")) (+ "+") (number_literal "1")) (] "]")) (, ",") (identifier "pcVar20") () ")"))) (; ";")) (} "}")))))) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" (identifier "uVar23") (= "=") (binary_expression "uVar23 + 1" (identifier "uVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_f0 = local_f0 + 4;" (assignment_expression "local_f0 = local_f0 + 4" (identifier "local_f0") (= "=") (binary_expression "local_f0 + 4" (identifier "local_f0") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "(int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a)" (cast_expression "(int)uVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar23")) (< "<") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) () ")")) (; ";")) (} "}"))) (if_statement "if ((local_64 & 1) == 0) {\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }\n        else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" (if "if") (parenthesized_expression "((local_64 & 1) == 0)" (( "(") (binary_expression "(local_64 & 1) == 0" (parenthesized_expression "(local_64 & 1)" (( "(") (binary_expression "local_64 & 1" (identifier "local_64") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n        }" ({ "{") (expression_statement "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);" (assignment_expression "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec)" (identifier "local_d8") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x2cec)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc8 + -0x2cec)" (( "(") (binary_expression "PTR_LAB_00190bc8 + -0x2cec" (identifier "PTR_LAB_00190bc8") (+ "+") (number_literal "-0x2cec")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" (else "else") (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);\n          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);\n          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }\n          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n          if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }\n        }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x15f0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x15f0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x15f0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x15f0)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x15f0" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x15f0")) () ")")))) () ")")) (argument_list "(unaff_s7,unaff_s1,local_8c)" (( "(") (identifier "unaff_s7") (, ",") (identifier "unaff_s1") (, ",") (identifier "local_8c") () ")"))) (; ";")) (expression_statement "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);" (assignment_expression "local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec)" (identifier "local_d8") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc8 + -0x2cec)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc8 + -0x2cec)" (( "(") (binary_expression "PTR_LAB_00190bc8 + -0x2cec" (identifier "PTR_LAB_00190bc8") (+ "+") (number_literal "-0x2cec")) () ")")))) (; ";")) (expression_statement "FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);" (call_expression "FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4)" (identifier "FUN_0010d314") (argument_list "(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4)" (( "(") (identifier "param_1") (, ",") (identifier "local_d0") (, ",") (number_literal "0x76") (, ",") (identifier "param_3") (, ",") (number_literal "1") (, ",") (identifier "unaff_s1") (, ",") (identifier "local_e4") (, ",") (identifier "param_5") (, ",") (identifier "local_d4") () ")"))) (; ";")) (if_statement "if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" (if "if") (parenthesized_expression "(unaff_s5 == (code *)0x0)" (( "(") (binary_expression "unaff_s5 == (code *)0x0" (identifier "unaff_s5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x1f,unaff_s8,local_d4,local_e4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x1f") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_d4") (, ",") (identifier "local_e4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" (else "else") (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))\n                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x13a0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x13a0)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x13a0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x13a0)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x13a0" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x13a0")) () ")")))) () ")")) (argument_list "(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x1c") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_d4") (, ",") (identifier "local_dc") (, ",") (identifier "local_b4") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar8 = (int)*(short *)(unaff_s1 + 0x2a);" (assignment_expression "iVar8 = (int)*(short *)(unaff_s1 + 0x2a)" (identifier "iVar8") (= "=") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) (; ";")) (if_statement "if (0 < iVar8) {\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }" (if "if") (parenthesized_expression "(0 < iVar8)" (( "(") (binary_expression "0 < iVar8" (number_literal "0") (< "<") (identifier "iVar8")) () ")")) (compound_statement "{\n            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);\n            iVar10 = 0;\n            pcVar13 = local_ec;\n            do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);\n          }" ({ "{") (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8)" (identifier "pcVar20") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4eb8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4eb8)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x4eb8" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x4eb8")) () ")")))) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar13 = local_ec;" (assignment_expression "pcVar13 = local_ec" (identifier "pcVar13") (= "=") (identifier "local_ec")) (; ";")) (do_statement "do {\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            } while (iVar10 < iVar8);" (do "do") (compound_statement "{\n              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }\n              iVar10 = iVar10 + 1;\n              pcVar13 = pcVar13 + 4;\n            }" ({ "{") (if_statement "if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }" (if "if") (parenthesized_expression "((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10))" (( "(") (binary_expression "(*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)" (parenthesized_expression "(*(int *)pcVar13 < 0)" (( "(") (binary_expression "*(int *)pcVar13 < 0" (pointer_expression "*(int *)pcVar13" (* "*") (cast_expression "(int *)pcVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar13"))) (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(short *)(unaff_s1 + 0x28) != iVar10)" (( "(") (binary_expression "*(short *)(unaff_s1 + 0x28) != iVar10" (pointer_expression "*(short *)(unaff_s1 + 0x28)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x28)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x28)" (( "(") (binary_expression "unaff_s1 + 0x28" (identifier "unaff_s1") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (identifier "iVar10")) () ")"))) () ")")) (compound_statement "{\n                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);\n                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);\n                local_b8 = pcVar20;\n                local_a8 = pcVar13;\n              }" ({ "{") (expression_statement "(*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);" (call_expression "(*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10)" (( "(") (identifier "unaff_s7") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s8") (, ",") (identifier "iVar10") (, ",") (binary_expression "local_8c + iVar10" (identifier "local_8c") (+ "+") (identifier "iVar10")) () ")"))) (; ";")) (expression_statement "iVar8 = (int)*(short *)(unaff_s1 + 0x2a);" (assignment_expression "iVar8 = (int)*(short *)(unaff_s1 + 0x2a)" (identifier "iVar8") (= "=") (cast_expression "(int)*(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))))) (; ";")) (expression_statement "local_b8 = pcVar20;" (assignment_expression "local_b8 = pcVar20" (identifier "local_b8") (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "local_a8 = pcVar13;" (assignment_expression "local_a8 = pcVar13" (identifier "local_a8") (= "=") (identifier "pcVar13")) (; ";")) (} "}"))) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar13 = pcVar13 + 4;" (assignment_expression "pcVar13 = pcVar13 + 4" (identifier "pcVar13") (= "=") (binary_expression "pcVar13 + 4" (identifier "pcVar13") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 < iVar8)" (( "(") (binary_expression "iVar10 < iVar8" (identifier "iVar10") (< "<") (identifier "iVar8")) () ")")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (local_bc == 0) {\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }" (if "if") (parenthesized_expression "(local_bc == 0)" (( "(") (binary_expression "local_bc == 0" (identifier "local_bc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);\n          if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }\n          puVar5 = PTR_LAB_00190bc0;\n          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }\n          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);\n          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }\n          if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }\n          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }\n          if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }\n        }" ({ "{") (expression_statement "FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0);" (call_expression "FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0)" (identifier "FUN_0010f918") (argument_list "(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,\n                       param_5 & 0xff,local_d4,&local_60,local_ec,0)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (identifier "local_a4") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_c8") (, ",") (identifier "local_cc") (, ",") (identifier "local_e4") (, ",") (identifier "local_c4") (, ",") (binary_expression "param_5 & 0xff" (identifier "param_5") (& "&") (number_literal "0xff")) (, ",") (identifier "local_d4") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (identifier "local_ec") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (local_c0 != (int ******)0x0) {\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }" (if "if") (parenthesized_expression "(local_c0 != (int ******)0x0)" (( "(") (binary_expression "local_c0 != (int ******)0x0" (identifier "local_c0") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);\n          }" ({ "{") (expression_statement "FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);" (call_expression "FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4)" (identifier "FUN_00109be4") (argument_list "(param_1,unaff_s1,local_e4,0,local_ec,local_c4)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (identifier "local_e4") (, ",") (number_literal "0") (, ",") (identifier "local_ec") (, ",") (identifier "local_c4") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" (identifier "puVar5") (= "=") (identifier "PTR_LAB_00190bc0")) (; ";")) (if_statement "if ((local_60 == 0) && (local_c4 == (code *)0x0)) {\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }\n          else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" (if "if") (parenthesized_expression "((local_60 == 0) && (local_c4 == (code *)0x0))" (( "(") (binary_expression "(local_60 == 0) && (local_c4 == (code *)0x0)" (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_c4 == (code *)0x0)" (( "(") (binary_expression "local_c4 == (code *)0x0" (identifier "local_c4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            iVar8 = 0;\n            if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n          }" ({ "{") (expression_statement "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);" (call_expression "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" (identifier "FUN_000ef78c") (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_c8") (, ",") (identifier "local_a4") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((int)local_c0 < 2) {\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }\n            else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" (if "if") (parenthesized_expression "((int)local_c0 < 2)" (( "(") (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c0")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              uVar21 = 0x44;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" ({ "{") (expression_statement "uVar21 = 0x44;" (assignment_expression "uVar21 = 0x44" (identifier "uVar21") (= "=") (number_literal "0x44")) (; ";")) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" (else "else") (compound_statement "{\n              uVar21 = 4;\n              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n            }" ({ "{") (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" (identifier "uVar21") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" (else "else") (compound_statement "{\n            if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }\n            local_f0 = (code *)(puVar5 + 0x10fc);\n            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);\n            uVar21 = 4;\n            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }\n          }" ({ "{") (if_statement "if (unaff_s5 == (code *)0x0) {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }\n            else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" (if "if") (parenthesized_expression "(unaff_s5 == (code *)0x0)" (( "(") (binary_expression "unaff_s5 == (code *)0x0" (identifier "unaff_s5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);\n            }" ({ "{") (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4)" (identifier "iVar8") (= "=") (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x1f,unaff_s8,0,local_e4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x1f") (, ",") (identifier "unaff_s8") (, ",") (number_literal "0") (, ",") (identifier "local_e4") () ")")))) (; ";")) (} "}")) (else_clause "else {\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" (else "else") (compound_statement "{\n              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);\n              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }\n            }" ({ "{") (expression_statement "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);" (assignment_expression "iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc)" (identifier "iVar8") (= "=") (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x1c,unaff_s8,0,local_dc)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x1c") (, ",") (identifier "unaff_s8") (, ",") (number_literal "0") (, ",") (identifier "local_dc") () ")")))) (; ";")) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }" (if "if") (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" (* "*") (cast_expression "(char *)((int)*unaff_s7 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*unaff_s7 + 0x51)" (( "(") (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                ppppppiVar30 = unaff_s7[0x1a];\n                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;\n                ppppppiVar30[iVar8 * 6 + 4] = local_b4;\n              }" ({ "{") (expression_statement "ppppppiVar30 = unaff_s7[0x1a];" (assignment_expression "ppppppiVar30 = unaff_s7[0x1a]" (identifier "ppppppiVar30") (= "=") (subscript_expression "unaff_s7[0x1a]" (identifier "unaff_s7") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;" (assignment_expression "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd" (pointer_expression "*(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1)" (* "*") (cast_expression "(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar30 + iVar8 * 0x18 + 1)" (( "(") (binary_expression "(int)ppppppiVar30 + iVar8 * 0x18 + 1" (binary_expression "(int)ppppppiVar30 + iVar8 * 0x18" (cast_expression "(int)ppppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar30")) (+ "+") (binary_expression "iVar8 * 0x18" (identifier "iVar8") (* "*") (number_literal "0x18"))) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0xfd")) (; ";")) (expression_statement "ppppppiVar30[iVar8 * 6 + 4] = local_b4;" (assignment_expression "ppppppiVar30[iVar8 * 6 + 4] = local_b4" (subscript_expression "ppppppiVar30[iVar8 * 6 + 4]" (identifier "ppppppiVar30") ([ "[") (binary_expression "iVar8 * 6 + 4" (binary_expression "iVar8 * 6" (identifier "iVar8") (* "*") (number_literal "6")) (+ "+") (number_literal "4")) (] "]")) (= "=") (identifier "local_b4")) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_f0 = (code *)(puVar5 + 0x10fc);" (assignment_expression "local_f0 = (code *)(puVar5 + 0x10fc)" (identifier "local_f0") (= "=") (cast_expression "(code *)(puVar5 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x10fc)" (( "(") (binary_expression "puVar5 + 0x10fc" (identifier "puVar5") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (expression_statement "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);" (call_expression "FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" (identifier "FUN_000ef78c") (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_c8") (, ",") (identifier "local_a4") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" (identifier "uVar21") (= "=") (number_literal "4")) (; ";")) (if_statement "if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {\n              uVar21 = 0x44;\n            }" (if "if") (parenthesized_expression "(((int)local_c0 < 2) && (local_c4 == (code *)0x0))" (( "(") (binary_expression "((int)local_c0 < 2) && (local_c4 == (code *)0x0)" (parenthesized_expression "((int)local_c0 < 2)" (( "(") (binary_expression "(int)local_c0 < 2" (cast_expression "(int)local_c0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c0")) (< "<") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(local_c4 == (code *)0x0)" (( "(") (binary_expression "local_c4 == (code *)0x0" (identifier "local_c4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n              uVar21 = 0x44;\n            }" ({ "{") (expression_statement "uVar21 = 0x44;" (assignment_expression "uVar21 = 0x44" (identifier "uVar21") (= "=") (number_literal "0x44")) (; ";")) (} "}"))) (} "}")))) (expression_statement "(*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);" (call_expression "(*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc)" (parenthesized_expression "(*local_f0)" (( "(") (pointer_expression "*local_f0" (* "*") (identifier "local_f0")) () ")")) (argument_list "(unaff_s7,0x7b,unaff_s8,uVar21,local_cc)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x7b") (, ",") (identifier "unaff_s8") (, ",") (identifier "uVar21") (, ",") (identifier "local_cc") () ")"))) (; ";")) (if_statement "if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }" (if "if") (parenthesized_expression "((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b]))" (( "(") (binary_expression "(cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])" (parenthesized_expression "(cVar3 == '\x02')" (( "(") (binary_expression "cVar3 == '\x02'" (identifier "cVar3") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" (( "(") (binary_expression "0 < (int)unaff_s7[0x1b]" (number_literal "0") (< "<") (cast_expression "(int)unaff_s7[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]")))) () ")"))) () ")")) (compound_statement "{\n            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;\n          }" ({ "{") (expression_statement "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;" (assignment_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2" (pointer_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (* "*") (cast_expression "(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (( "(") (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1a]" (identifier "unaff_s7") ([ "[") (number_literal "0x1a") (] "]"))) (+ "+") (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]"))) (* "*") (number_literal "0x18"))) (+ "+") (number_literal "-0x16")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}"))) (if_statement "if (*(char *)((int)param_1 + 0x12) == '\0') {\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }" (if "if") (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" (* "*") (cast_expression "(char *)((int)param_1 + 0x12)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x12)" (( "(") (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x12")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x24d4))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x24d4)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x24d4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x24d4)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x24d4" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x24d4")) () ")")))) () ")")) (argument_list "(unaff_s7,unaff_s1,0xfffffffa)" (( "(") (identifier "unaff_s7") (, ",") (identifier "unaff_s1") (, ",") (number_literal "0xfffffffa") () ")"))) (; ";")) (} "}"))) (if_statement "if ((local_60 != 0) || (local_c4 != (code *)0x0)) {\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }" (if "if") (parenthesized_expression "((local_60 != 0) || (local_c4 != (code *)0x0))" (( "(") (binary_expression "(local_60 != 0) || (local_c4 != (code *)0x0)" (parenthesized_expression "(local_60 != 0)" (( "(") (binary_expression "local_60 != 0" (identifier "local_60") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_c4 != (code *)0x0)" (( "(") (binary_expression "local_c4 != (code *)0x0" (identifier "local_c4") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n            if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];\n          }" ({ "{") (if_statement "if (iVar8 < 0) {\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }" (if "if") (parenthesized_expression "(iVar8 < 0)" (( "(") (binary_expression "iVar8 < 0" (identifier "iVar8") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              iVar8 = (int)unaff_s7[0x1b] + -1;\n            }" ({ "{") (expression_statement "iVar8 = (int)unaff_s7[0x1b] + -1;" (assignment_expression "iVar8 = (int)unaff_s7[0x1b] + -1" (identifier "iVar8") (= "=") (binary_expression "(int)unaff_s7[0x1b] + -1" (cast_expression "(int)unaff_s7[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]"))) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }\n            else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" (if "if") (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" (* "*") (cast_expression "(char *)((int)*unaff_s7 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*unaff_s7 + 0x51)" (( "(") (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;\n            }" ({ "{") (expression_statement "ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;" (assignment_expression "ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6" (identifier "ppppppiVar30") (= "=") (binary_expression "unaff_s7[0x1a] + iVar8 * 6" (subscript_expression "unaff_s7[0x1a]" (identifier "unaff_s7") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "iVar8 * 6" (identifier "iVar8") (* "*") (number_literal "6")))) (; ";")) (} "}")) (else_clause "else {\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" (else "else") (compound_statement "{\n              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" ({ "{") (expression_statement "ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);" (assignment_expression "ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc)" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)(PTR_DAT_00190948 + 0xfbc)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(PTR_DAT_00190948 + 0xfbc)" (( "(") (binary_expression "PTR_DAT_00190948 + 0xfbc" (identifier "PTR_DAT_00190948") (+ "+") (number_literal "0xfbc")) () ")")))) (; ";")) (} "}")))) (expression_statement "ppppppiVar30[2] = (int *****)unaff_s7[0x1b];" (assignment_expression "ppppppiVar30[2] = (int *****)unaff_s7[0x1b]" (subscript_expression "ppppppiVar30[2]" (identifier "ppppppiVar30") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int *****)unaff_s7[0x1b]" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (} "}"))) (if_statement "if (local_c0 == (int ******)0x0) {\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }\n          else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" (if "if") (parenthesized_expression "(local_c0 == (int ******)0x0)" (( "(") (binary_expression "local_c0 == (int ******)0x0" (identifier "local_c0") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n          }" ({ "{") (if_statement "if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }" (if "if") (parenthesized_expression "(cVar3 == '\x02')" (( "(") (binary_expression "cVar3 == '\x02'" (identifier "cVar3") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n              uVar21 = 6;\n            }" ({ "{") (expression_statement "uVar21 = 6;" (assignment_expression "uVar21 = 6" (identifier "uVar21") (= "=") (number_literal "6")) (; ";")) (} "}")) (else_clause "else {\n              uVar21 = 4;\n            }" (else "else") (compound_statement "{\n              uVar21 = 4;\n            }" ({ "{") (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" (identifier "uVar21") (= "=") (number_literal "4")) (; ";")) (} "}")))) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x2940)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x2940)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x2940)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x2940" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x2940")) () ")")))) () ")")) (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_c8") (, ",") (identifier "local_cc") (, ",") (identifier "local_a4") (, ",") (identifier "uVar21") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" (else "else") (compound_statement "{\n            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);\n            if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }\n            (*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);\n            if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }\n          }" ({ "{") (expression_statement "FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);" (call_expression "FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4)" (identifier "FUN_00109be4") (argument_list "(param_1,unaff_s1,0,local_cc,local_ec,local_c4)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (number_literal "0") (, ",") (identifier "local_cc") (, ",") (identifier "local_ec") (, ",") (identifier "local_c4") () ")"))) (; ";")) (if_statement "if (cVar3 == '\x02') {\n              uVar21 = 6;\n            }\n            else {\n              uVar21 = 4;\n            }" (if "if") (parenthesized_expression "(cVar3 == '\x02')" (( "(") (binary_expression "cVar3 == '\x02'" (identifier "cVar3") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n              uVar21 = 6;\n            }" ({ "{") (expression_statement "uVar21 = 6;" (assignment_expression "uVar21 = 6" (identifier "uVar21") (= "=") (number_literal "6")) (; ";")) (} "}")) (else_clause "else {\n              uVar21 = 4;\n            }" (else "else") (compound_statement "{\n              uVar21 = 4;\n            }" ({ "{") (expression_statement "uVar21 = 4;" (assignment_expression "uVar21 = 4" (identifier "uVar21") (= "=") (number_literal "4")) (; ";")) (} "}")))) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))\n                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x2940))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x2940)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x2940)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x2940)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x2940" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x2940")) () ")")))) () ")")) (argument_list "(param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s8") (, ",") (identifier "local_c8") (, ",") (identifier "local_cc") (, ",") (identifier "local_a4") (, ",") (identifier "uVar21") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (((uint)(*param_1)[9] & 0x4000) != 0) {\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }" (if "if") (parenthesized_expression "(((uint)(*param_1)[9] & 0x4000) != 0)" (( "(") (binary_expression "((uint)(*param_1)[9] & 0x4000) != 0" (parenthesized_expression "((uint)(*param_1)[9] & 0x4000)" (( "(") (binary_expression "(uint)(*param_1)[9] & 0x4000" (subscript_expression "(uint)(*param_1)[9]" (call_expression "(uint)(*param_1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")"))) ([ "[") (number_literal "9") (] "]")) (& "&") (number_literal "0x4000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);\n            }" ({ "{") (expression_statement "FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);" (call_expression "FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4)" (identifier "FUN_0010c7f8") (argument_list "(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") (, ",") (identifier "param_3") (, ",") (identifier "local_e4") (, ",") (identifier "local_ec") (, ",") (identifier "local_c4") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }" (if "if") (parenthesized_expression "(local_9c != (int ******)0x0)" (( "(") (binary_expression "local_9c != (int ******)0x0" (identifier "local_9c") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);\n        }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x53,local_9c,1,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x53") (, ",") (identifier "local_9c") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppiVar30 = (int ******)0x2;" (assignment_expression "ppppppiVar30 = (int ******)0x2" (identifier "ppppppiVar30") (= "=") (cast_expression "(int ******)0x2" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "(*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);" (call_expression "(*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4)" (parenthesized_expression "(*local_d8)" (( "(") (pointer_expression "*local_d8" (* "*") (identifier "local_d8")) () ")")) (argument_list "(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4)" (( "(") (identifier "param_1") (, ",") (identifier "local_d0") (, ",") (number_literal "0x76") (, ",") (identifier "param_3") (, ",") (number_literal "2") (, ",") (identifier "unaff_s1") (, ",") (identifier "local_e4") (, ",") (identifier "param_5") (, ",") (identifier "local_d4") () ")"))) (; ";")) (if_statement "if (cVar3 == '\x01') {\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }\n        else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" (if "if") (parenthesized_expression "(cVar3 == '\x01')" (( "(") (binary_expression "cVar3 == '\x01'" (identifier "cVar3") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\nLAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n        }" ({ "{") (labeled_statement "LAB_0010e4b8:\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (statement_identifier "LAB_0010e4b8") (: ":") (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" (identifier "pcVar20") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0xd78" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0xd78")) () ")")))) (; ";"))) (} "}")) (else_clause "else if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" (else "else") (if_statement "if (cVar3 == '\x02') {\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }\n        else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" (if "if") (parenthesized_expression "(cVar3 == '\x02')" (( "(") (binary_expression "cVar3 == '\x02'" (identifier "cVar3") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);\n        }" ({ "{") (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" (identifier "pcVar20") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0xd78" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0xd78")) () ")")))) (; ";")) (expression_statement "(*pcVar20)(unaff_s7,local_d4);" (call_expression "(*pcVar20)(unaff_s7,local_d4)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(unaff_s7,local_d4)" (( "(") (identifier "unaff_s7") (, ",") (identifier "local_d4") () ")"))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x592c" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x592c")) () ")")))) () ")")) (argument_list "(local_88)" (( "(") (identifier "local_88") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" (else "else") (compound_statement "{\n          if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }\n          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);\n          (*pcVar20)(unaff_s7,local_d4);\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);\n        }" ({ "{") (if_statement "if (unaff_s5 == (code *)0x0) {\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }" (if "if") (parenthesized_expression "(unaff_s5 == (code *)0x0)" (( "(") (binary_expression "unaff_s5 == (code *)0x0" (identifier "unaff_s5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);\n            goto LAB_0010e4b8;\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0xb,0,local_d4,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0xb") (, ",") (number_literal "0") (, ",") (identifier "local_d4") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_0010e4b8;" (goto "goto") (statement_identifier "LAB_0010e4b8") (; ";")) (} "}"))) (expression_statement "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78)" (identifier "pcVar20") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xd78)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0xd78)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0xd78" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0xd78")) () ")")))) (; ";")) (expression_statement "(*pcVar20)(unaff_s7,local_d4);" (call_expression "(*pcVar20)(unaff_s7,local_d4)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(unaff_s7,local_d4)" (( "(") (identifier "unaff_s7") (, ",") (identifier "local_d4") () ")"))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,5,local_a0,local_ac,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "5") (, ",") (identifier "local_a0") (, ",") (identifier "local_ac") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))))) (expression_statement "(*pcVar20)(unaff_s7,ppppppiVar9);" (call_expression "(*pcVar20)(unaff_s7,ppppppiVar9)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(unaff_s7,ppppppiVar9)" (( "(") (identifier "unaff_s7") (, ",") (identifier "ppppppiVar9") () ")"))) (; ";")) (if_statement "if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }" (if "if") (parenthesized_expression "((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0))" (( "(") (binary_expression "(((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)" (parenthesized_expression "(((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0))" (( "(") (binary_expression "((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&\n            (local_e8 == (int ******)0x0)" (parenthesized_expression "((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0))" (( "(") (binary_expression "(*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)" (parenthesized_expression "(*(char *)((int)param_1 + 0x12) == '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 0x12) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x12)" (* "*") (cast_expression "(char *)((int)param_1 + 0x12)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x12)" (( "(") (binary_expression "(int)param_1 + 0x12" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x12")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[0x1e] == (int ******)0x0)" (( "(") (binary_expression "param_1[0x1e] == (int ******)0x0" (subscript_expression "param_1[0x1e]" (identifier "param_1") ([ "[") (number_literal "0x1e") (] "]")) (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_e8 == (int ******)0x0)" (( "(") (binary_expression "local_e8 == (int ******)0x0" (identifier "local_e8") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[0x1c] != (int ******)0x0)" (( "(") (binary_expression "param_1[0x1c] != (int ******)0x0" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);\n        }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x4d0c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x4d0c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x4d0c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x4d0c)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x4d0c" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x4d0c")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_9c != (int ******)0x0) {\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }" (if "if") (parenthesized_expression "(local_9c != (int ******)0x0)" (( "(") (binary_expression "local_9c != (int ******)0x0" (identifier "local_9c") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);\n          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);\n          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }\n        }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x10fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x10fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(unaff_s7,0x51,local_9c,1,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x51") (, ",") (identifier "local_9c") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x7898))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x7898)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x7898)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x7898)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x7898" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x7898")) () ")")))) () ")")) (argument_list "(unaff_s7,1)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "1") () ")"))) (; ";")) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }" (if "if") (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" (* "*") (cast_expression "(char *)((int)*unaff_s7 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*unaff_s7 + 0x51)" (( "(") (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);" (call_expression "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))\n                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + -0x2a8))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + -0x2a8)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + -0x2a8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + -0x2a8)" (( "(") (binary_expression "PTR_LAB_00190bc0 + -0x2a8" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "-0x2a8")) () ")")))) () ")")) (argument_list "(unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x2d20")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        unaff_s7 = (int *******)param_1[2];\n        for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }\n        local_e8 = param_1[10];\n        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);\n        local_e4 = *(int *******)(param_2 + 0x30);\n        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n        param_1[10] = (int ******)((int)local_e8 + 1);\n        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);\n        ppppppiVar22 = param_1[0xb];\n        local_d8 = (code *)((int)ppppppiVar22 + 1);\n        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);\n        param_1[0xb] = local_d0;\n        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);\n        local_c8 = (int ******)0x0;\n        ppppppiVar30 = ppppppiVar22;\n        if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }\n      }" ({ "{") (expression_statement "unaff_s7 = (int *******)param_1[2];" (assignment_expression "unaff_s7 = (int *******)param_1[2]" (identifier "unaff_s7") (= "=") (cast_expression "(int *******)param_1[2]" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (for_statement "for (pcVar29 = *(code **)(unaff_s1 + 0x40);\n            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));\n            pcVar29 = *(code **)(pcVar29 + 0x18)) {\n        }" (for "for") (( "(") (assignment_expression "pcVar29 = *(code **)(unaff_s1 + 0x40)" (identifier "pcVar29") (= "=") (pointer_expression "*(code **)(unaff_s1 + 0x40)" (* "*") (cast_expression "(code **)(unaff_s1 + 0x40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_s1 + 0x40)" (( "(") (binary_expression "unaff_s1 + 0x40" (identifier "unaff_s1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";") (parenthesized_expression "(pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29))" (( "(") (binary_expression "pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29)" (binary_expression "pcVar29 != (code *)0x0" (identifier "pcVar29") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(*param_1 != *(int *******)pcVar29)" (( "(") (binary_expression "*param_1 != *(int *******)pcVar29" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (pointer_expression "*(int *******)pcVar29" (* "*") (cast_expression "(int *******)pcVar29" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "pcVar29")))) () ")"))) () ")")) (; ";") (assignment_expression "pcVar29 = *(code **)(pcVar29 + 0x18)" (identifier "pcVar29") (= "=") (pointer_expression "*(code **)(pcVar29 + 0x18)" (* "*") (cast_expression "(code **)(pcVar29 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar29 + 0x18)" (( "(") (binary_expression "pcVar29 + 0x18" (identifier "pcVar29") (+ "+") (number_literal "0x18")) () ")"))))) () ")") (compound_statement "{\n        }" ({ "{") (} "}"))) (expression_statement "local_e8 = param_1[10];" (assignment_expression "local_e8 = param_1[10]" (identifier "local_e8") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);" (assignment_expression "ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2)" (identifier "ppppppiVar9") (= "=") (cast_expression "(int ******)(*(short *)(unaff_s1 + 0x2a) + 2)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(short *)(unaff_s1 + 0x2a) + 2)" (( "(") (binary_expression "*(short *)(unaff_s1 + 0x2a) + 2" (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")")))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_e4 = *(int *******)(param_2 + 0x30);" (assignment_expression "local_e4 = *(int *******)(param_2 + 0x30)" (identifier "local_e4") (= "=") (pointer_expression "*(int *******)(param_2 + 0x30)" (* "*") (cast_expression "(int *******)(param_2 + 0x30)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(param_2 + 0x30)" (( "(") (binary_expression "param_2 + 0x30" (identifier "param_2") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (expression_statement "param_1[10] = (int ******)((int)local_e8 + 1);" (assignment_expression "param_1[10] = (int ******)((int)local_e8 + 1)" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(int ******)((int)local_e8 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_e8 + 1)" (( "(") (binary_expression "(int)local_e8 + 1" (cast_expression "(int)local_e8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e8")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);" (assignment_expression "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" (identifier "local_e0") (= "=") (cast_expression "(int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x71,local_e8,ppppppiVar9,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x71") (, ",") (identifier "local_e8") (, ",") (identifier "ppppppiVar9") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "ppppppiVar22 = param_1[0xb];" (assignment_expression "ppppppiVar22 = param_1[0xb]" (identifier "ppppppiVar22") (= "=") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "local_d8 = (code *)((int)ppppppiVar22 + 1);" (assignment_expression "local_d8 = (code *)((int)ppppppiVar22 + 1)" (identifier "local_d8") (= "=") (cast_expression "(code *)((int)ppppppiVar22 + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar22 + 1)" (( "(") (binary_expression "(int)ppppppiVar22 + 1" (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);" (assignment_expression "local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" (identifier "local_d0") (= "=") (cast_expression "(int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar9 + (int)ppppppiVar22 + 2U)" (( "(") (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22 + 2U" (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22" (cast_expression "(int)ppppppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar9")) (+ "+") (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22"))) (+ "+") (number_literal "2U")) () ")")))) (; ";")) (expression_statement "param_1[0xb] = local_d0;" (assignment_expression "param_1[0xb] = local_d0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "local_d0")) (; ";")) (expression_statement "local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);" (assignment_expression "local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" (identifier "local_d4") (= "=") (cast_expression "(int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000f3790(param_1,param_2,param_4,0,0,4,0)" (identifier "FUN_000f3790") (argument_list "(param_1,param_2,param_4,0,0,4,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "4") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_c8 = (int ******)0x0;" (assignment_expression "local_c8 = (int ******)0x0" (identifier "local_c8") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppiVar30 = ppppppiVar22;" (assignment_expression "ppppppiVar30 = ppppppiVar22" (identifier "ppppppiVar30") (= "=") (identifier "ppppppiVar22")) (; ";")) (if_statement "if (local_d4 != (int ******)0x0) {\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }" (if "if") (parenthesized_expression "(local_d4 != (int ******)0x0)" (( "(") (binary_expression "local_d4 != (int ******)0x0" (identifier "local_d4") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }\n          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }\n          local_34 = (int ******)local_d4[6];\n          local_30 = (int ******)local_d4[7];\n          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);\n          if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }\n          pppppppiVar14 = local_e0;\n          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);\n          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);\n          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);\n          if (param_5 == 0xb) {\n            param_5 = 2;\n          }\n          if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }\n          if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }\n          *(undefined1 *)((int)param_1 + 0x15) = 1;\n          if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }\n        }" ({ "{") (if_statement "if (0 < *(short *)(unaff_s1 + 0x2a)) {\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }" (if "if") (parenthesized_expression "(0 < *(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "0 < *(short *)(unaff_s1 + 0x2a)" (number_literal "0") (< "<") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")"))))) () ")")) (compound_statement "{\n            local_c8 = (int ******)((int)ppppppiVar22 + 3);\n            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);\n            iVar8 = 0;\n            pcVar28 = local_ec;\n            do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));\n          }" ({ "{") (expression_statement "local_c8 = (int ******)((int)ppppppiVar22 + 3);" (assignment_expression "local_c8 = (int ******)((int)ppppppiVar22 + 3)" (identifier "local_c8") (= "=") (cast_expression "(int ******)((int)ppppppiVar22 + 3)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar22 + 3)" (( "(") (binary_expression "(int)ppppppiVar22 + 3" (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);" (assignment_expression "local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc)" (identifier "local_c4") (= "=") (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" (( "(") (binary_expression "PTR_LAB_00190c58 + -0x7cdc" (identifier "PTR_LAB_00190c58") (+ "+") (number_literal "-0x7cdc")) () ")")))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar28 = local_ec;" (assignment_expression "pcVar28 = local_ec" (identifier "pcVar28") (= "=") (identifier "local_ec")) (; ";")) (do_statement "do {\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));" (do "do") (compound_statement "{\n              if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }\n              iVar8 = iVar8 + 1;\n              pcVar28 = pcVar28 + 4;\n              local_c0 = ppppppiVar26;\n              local_bc = param_4;\n            }" ({ "{") (if_statement "if (*(int *)pcVar28 < 0) {\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }\n              else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" (if "if") (parenthesized_expression "(*(int *)pcVar28 < 0)" (( "(") (binary_expression "*(int *)pcVar28 < 0" (pointer_expression "*(int *)pcVar28" (* "*") (cast_expression "(int *)pcVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar28"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);\n                if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }\n              }" ({ "{") (expression_statement "(*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);" (call_expression "(*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0xa4") (, ",") (identifier "local_e4") (, ",") (identifier "iVar8") (, ",") (binary_expression "(int)local_c8 + iVar8" (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8")) (+ "+") (identifier "iVar8")) () ")"))) (; ";")) (if_statement "if (0 < (int)unaff_s7[0x1b]) {\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }" (if "if") (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" (( "(") (binary_expression "0 < (int)unaff_s7[0x1b]" (number_literal "0") (< "<") (cast_expression "(int)unaff_s7[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]")))) () ")")) (compound_statement "{\n                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;\n                }" ({ "{") (expression_statement "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;" (assignment_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1" (pointer_expression "*(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (* "*") (cast_expression "(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (( "(") (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1a]" (identifier "unaff_s7") ([ "[") (number_literal "0x1a") (] "]"))) (+ "+") (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]"))) (* "*") (number_literal "0x18"))) (+ "+") (number_literal "-0x16")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" (else "else") (compound_statement "{\n                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);\n              }" ({ "{") (expression_statement "(*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);" (call_expression "(*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1])" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) (argument_list "(param_1,param_3[*(int *)pcVar28 * 5 + 1])" (( "(") (identifier "param_1") (, ",") (subscript_expression "param_3[*(int *)pcVar28 * 5 + 1]" (identifier "param_3") ([ "[") (binary_expression "*(int *)pcVar28 * 5 + 1" (binary_expression "*(int *)pcVar28 * 5" (pointer_expression "*(int *)pcVar28" (* "*") (cast_expression "(int *)pcVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar28"))) (* "*") (number_literal "5")) (+ "+") (number_literal "1")) (] "]")) () ")"))) (; ";")) (} "}")))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar28 = pcVar28 + 4;" (assignment_expression "pcVar28 = pcVar28 + 4" (identifier "pcVar28") (= "=") (binary_expression "pcVar28 + 4" (identifier "pcVar28") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "local_c0 = ppppppiVar26;" (assignment_expression "local_c0 = ppppppiVar26" (identifier "local_c0") (= "=") (identifier "ppppppiVar26")) (; ";")) (expression_statement "local_bc = param_4;" (assignment_expression "local_bc = param_4" (identifier "local_bc") (= "=") (identifier "param_4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 < *(short *)(unaff_s1 + 0x2a))" (( "(") (binary_expression "iVar8 < *(short *)(unaff_s1 + 0x2a)" (identifier "iVar8") (< "<") (pointer_expression "*(short *)(unaff_s1 + 0x2a)" (* "*") (cast_expression "(short *)(unaff_s1 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x2a)" (( "(") (binary_expression "unaff_s1 + 0x2a" (identifier "unaff_s1") (+ "+") (number_literal "0x2a")) () ")"))))) () ")")) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }\n          else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" (if "if") (parenthesized_expression "((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(uint *)(unaff_s1 + 0x24) & 0x20)" (( "(") (binary_expression "*(uint *)(unaff_s1 + 0x24) & 0x20" (pointer_expression "*(uint *)(unaff_s1 + 0x24)" (* "*") (cast_expression "(uint *)(unaff_s1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 0x24)" (( "(") (binary_expression "unaff_s1 + 0x24" (identifier "unaff_s1") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);\n            if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }\n          }" ({ "{") (expression_statement "(*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);" (call_expression "(*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x80,local_e4,local_d8,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x80") (, ",") (identifier "local_e4") (, ",") (identifier "local_d8") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (local_b8 == (code *)0x0) {\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }\n            else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" (if "if") (parenthesized_expression "(local_b8 == (code *)0x0)" (( "(") (binary_expression "local_b8 == (code *)0x0" (identifier "local_b8") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);\n            }" ({ "{") (expression_statement "(*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);" (call_expression "(*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x80") (, ",") (identifier "local_e4") (, ",") (binary_expression "(int)ppppppiVar22 + 2" (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22")) (+ "+") (number_literal "2")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" (else "else") (compound_statement "{\n              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);\n            }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);" (call_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c58 + -0x7cdc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190c58 + -0x7cdc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190c58 + -0x7cdc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c58 + -0x7cdc)" (( "(") (binary_expression "PTR_LAB_00190c58 + -0x7cdc" (identifier "PTR_LAB_00190c58") (+ "+") (number_literal "-0x7cdc")) () ")")))) () ")")) (argument_list "(param_1,local_b8)" (( "(") (identifier "param_1") (, ",") (identifier "local_b8") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" (else "else") (compound_statement "{\n            iVar8 = *(int *)(unaff_s1 + 8);\n            if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }\n            bVar4 = *(byte *)(iVar8 + 0x37);\n            while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }\n            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);\n            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);\n            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;\n          }" ({ "{") (expression_statement "iVar8 = *(int *)(unaff_s1 + 8);" (assignment_expression "iVar8 = *(int *)(unaff_s1 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(unaff_s1 + 8)" (* "*") (cast_expression "(int *)(unaff_s1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s1 + 8)" (( "(") (binary_expression "unaff_s1 + 8" (identifier "unaff_s1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar8 == 0) {\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);\n              (*pcVar13)();\n            }" ({ "{") (labeled_statement "LAB_0010f910:\n                    \n              pcVar13 = (code *)trap(0);" (statement_identifier "LAB_0010f910") (: ":") (expression_statement "pcVar13 = (code *)trap(0);" (assignment_expression "pcVar13 = (code *)trap(0)" (identifier "pcVar13") (= "=") (cast_expression "(code *)trap(0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "trap(0)" (identifier "trap") (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";"))) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x37);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x37)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(iVar8 + 0x37)" (* "*") (cast_expression "(byte *)(iVar8 + 0x37)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x37)" (( "(") (binary_expression "iVar8 + 0x37" (identifier "iVar8") (+ "+") (number_literal "0x37")) () ")"))))) (; ";")) (while_statement "while ((bVar4 & 0xc0) != 0x80) {\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }" (while "while") (parenthesized_expression "((bVar4 & 0xc0) != 0x80)" (( "(") (binary_expression "(bVar4 & 0xc0) != 0x80" (parenthesized_expression "(bVar4 & 0xc0)" (( "(") (binary_expression "bVar4 & 0xc0" (identifier "bVar4") (& "&") (number_literal "0xc0")) () ")")) (!= "!=") (number_literal "0x80")) () ")")) (compound_statement "{\n              iVar8 = *(int *)(iVar8 + 0x14);\n              if (iVar8 == 0) goto LAB_0010f910;\n              bVar4 = *(byte *)(iVar8 + 0x37);\n            }" ({ "{") (expression_statement "iVar8 = *(int *)(iVar8 + 0x14);" (assignment_expression "iVar8 = *(int *)(iVar8 + 0x14)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar8 + 0x14)" (* "*") (cast_expression "(int *)(iVar8 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x14)" (( "(") (binary_expression "iVar8 + 0x14" (identifier "iVar8") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_0010f910;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0010f910;" (goto "goto") (statement_identifier "LAB_0010f910") (; ";"))) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x37);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x37)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(iVar8 + 0x37)" (* "*") (cast_expression "(byte *)(iVar8 + 0x37)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x37)" (( "(") (binary_expression "iVar8 + 0x37" (identifier "iVar8") (+ "+") (number_literal "0x37")) () ")"))))) (; ";")) (} "}"))) (expression_statement "local_c8 = (int ******)(int)**(short **)(iVar8 + 4);" (assignment_expression "local_c8 = (int ******)(int)**(short **)(iVar8 + 4)" (identifier "local_c8") (= "=") (cast_expression "(int ******)(int)**(short **)(iVar8 + 4)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (cast_expression "(int)**(short **)(iVar8 + 4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "**(short **)(iVar8 + 4)" (* "*") (pointer_expression "*(short **)(iVar8 + 4)" (* "*") (cast_expression "(short **)(iVar8 + 4)" (( "(") (type_descriptor "short **" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 4)" (( "(") (binary_expression "iVar8 + 4" (identifier "iVar8") (+ "+") (number_literal "4")) () ")")))))))) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);" (call_expression "(*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0xa4,local_e4,local_c8,local_d8)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0xa4") (, ",") (identifier "local_e4") (, ",") (identifier "local_c8") (, ",") (identifier "local_d8") () ")"))) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)\n            ;" (call_expression "(*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x4f") (, ",") (binary_expression "(int)ppppppiVar22 + 3U + (int)local_c8" (binary_expression "(int)ppppppiVar22 + 3U" (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22")) (+ "+") (number_literal "3U")) (+ "+") (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8"))) (, ",") (binary_expression "(int)ppppppiVar22 + 2" (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22")) (+ "+") (number_literal "2")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "local_34 = (int ******)local_d4[6];" (assignment_expression "local_34 = (int ******)local_d4[6]" (identifier "local_34") (= "=") (cast_expression "(int ******)local_d4[6]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_d4[6]" (identifier "local_d4") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "local_30 = (int ******)local_d4[7];" (assignment_expression "local_30 = (int ******)local_d4[7]" (identifier "local_30") (= "=") (cast_expression "(int ******)local_d4[7]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_d4[7]" (identifier "local_d4") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);" (assignment_expression "ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31)" (identifier "ppppppiVar30") (= "=") (binary_expression "(int ******)(uint)*(byte *)((int)local_d4 + 0x31)" (cast_expression "(int ******)(uint)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)local_d4 + 0x31)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_d4 + 0x31)" (( "(") (binary_expression "(int)local_d4 + 0x31" (cast_expression "(int)local_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d4")) (+ "+") (number_literal "0x31")) () ")"))))) (; ";")) (if_statement "if (ppppppiVar30 == (int ******)0x0) {\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }\n          else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" (if "if") (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar30 == (int ******)0x0" (identifier "ppppppiVar30") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pppppppiVar14 = (int *******)param_1[0x1d];\n            if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }\n            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);\n            *(undefined1 *)(pppppppiVar14 + 5) = 1;\n            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);\n            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);\n            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);\n            ppppppiVar22 = (int ******)0x0;\n            if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }\n          }" ({ "{") (expression_statement "pppppppiVar14 = (int *******)param_1[0x1d];" (assignment_expression "pppppppiVar14 = (int *******)param_1[0x1d]" (identifier "pppppppiVar14") (= "=") (cast_expression "(int *******)param_1[0x1d]" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")))) (; ";")) (if_statement "if ((int *******)param_1[0x1d] == (int *******)0x0) {\n              pppppppiVar14 = param_1;\n            }" (if "if") (parenthesized_expression "((int *******)param_1[0x1d] == (int *******)0x0)" (( "(") (binary_expression "(int *******)param_1[0x1d] == (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]"))) (== "==") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pppppppiVar14 = param_1;\n            }" ({ "{") (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" (identifier "pppppppiVar14") (= "=") (identifier "param_1")) (; ";")) (} "}"))) (expression_statement "local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" (identifier "local_e4") (= "=") (cast_expression "(int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar9 + (int)ppppppiVar22 + 1U)" (( "(") (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22 + 1U" (binary_expression "(int)ppppppiVar9 + (int)ppppppiVar22" (cast_expression "(int)ppppppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar9")) (+ "+") (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22"))) (+ "+") (number_literal "1U")) () ")")))) (; ";")) (expression_statement "*(undefined1 *)(pppppppiVar14 + 5) = 1;" (assignment_expression "*(undefined1 *)(pppppppiVar14 + 5) = 1" (pointer_expression "*(undefined1 *)(pppppppiVar14 + 5)" (* "*") (cast_expression "(undefined1 *)(pppppppiVar14 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppiVar14 + 5)" (( "(") (binary_expression "pppppppiVar14 + 5" (identifier "pppppppiVar14") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);" (call_expression "(*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x66") (, ",") (identifier "local_d8") (, ",") (identifier "ppppppiVar9") (, ",") (identifier "local_e4") () ")"))) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);" (call_expression "(*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x79,local_e8,local_d0,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x79") (, ",") (identifier "local_e8") (, ",") (identifier "local_d0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);" (call_expression "(*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x7a,local_e8,local_e4,local_d0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x7a") (, ",") (identifier "local_e8") (, ",") (identifier "local_e4") (, ",") (identifier "local_d0") () ")"))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x592c" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x592c")) () ")")))) () ")")) (argument_list "(local_d4)" (( "(") (identifier "local_d4") () ")"))) (; ";")) (expression_statement "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);" (assignment_expression "local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" (identifier "local_e0") (= "=") (cast_expression "(int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*pcVar13)(unaff_s7,0x24,local_e8,0,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x24,local_e8,0,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x24") (, ",") (identifier "local_e8") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "ppppppiVar22 = (int ******)0x0;" (assignment_expression "ppppppiVar22 = (int ******)0x0" (identifier "ppppppiVar22") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < (int)ppppppiVar9) {\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }" (if "if") (parenthesized_expression "(0 < (int)ppppppiVar9)" (( "(") (binary_expression "0 < (int)ppppppiVar9" (number_literal "0") (< "<") (cast_expression "(int)ppppppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar9"))) () ")")) (compound_statement "{\n              do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);\n            }" ({ "{") (do_statement "do {\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              } while (ppppppiVar9 != local_e4);" (do "do") (compound_statement "{\n                local_e4 = (int ******)((int)ppppppiVar22 + 1);\n                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);\n                ppppppiVar22 = local_e4;\n              }" ({ "{") (expression_statement "local_e4 = (int ******)((int)ppppppiVar22 + 1);" (assignment_expression "local_e4 = (int ******)((int)ppppppiVar22 + 1)" (identifier "local_e4") (= "=") (cast_expression "(int ******)((int)ppppppiVar22 + 1)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppiVar22 + 1)" (( "(") (binary_expression "(int)ppppppiVar22 + 1" (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);" (call_expression "(*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x5a") (, ",") (identifier "local_e8") (, ",") (identifier "ppppppiVar22") (, ",") (binary_expression "local_d8 + (int)ppppppiVar22" (identifier "local_d8") (+ "+") (cast_expression "(int)ppppppiVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar22"))) () ")"))) (; ";")) (expression_statement "ppppppiVar22 = local_e4;" (assignment_expression "ppppppiVar22 = local_e4" (identifier "ppppppiVar22") (= "=") (identifier "local_e4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppiVar9 != local_e4)" (( "(") (binary_expression "ppppppiVar9 != local_e4" (identifier "ppppppiVar9") (!= "!=") (identifier "local_e4")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" (else "else") (compound_statement "{\n            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);\n            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x2478))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x2478)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x2478)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x2478)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x2478" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x2478")) () ")")))) () ")")) (argument_list "(*unaff_s7,unaff_s7 + 0x1a,local_e0)" (( "(") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")) (, ",") (binary_expression "unaff_s7 + 0x1a" (identifier "unaff_s7") (+ "+") (number_literal "0x1a")) (, ",") (identifier "local_e0") () ")"))) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0x75,local_e4,0,0);" (call_expression "(*pcVar13)(unaff_s7,0x75,local_e4,0,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x75,local_e4,0,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x75") (, ",") (identifier "local_e4") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "pppppppiVar14 = local_e0;" (assignment_expression "pppppppiVar14 = local_e0" (identifier "pppppppiVar14") (= "=") (identifier "local_e0")) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);" (call_expression "(*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190c2c + -0x3f00))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190c2c + -0x3f00)" (* "*") (cast_expression "(code *)(PTR_LAB_00190c2c + -0x3f00)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c2c + -0x3f00)" (( "(") (binary_expression "PTR_LAB_00190c2c + -0x3f00" (identifier "PTR_LAB_00190c2c") (+ "+") (number_literal "-0x3f00")) () ")")))) () ")")) (argument_list "(param_1,unaff_s1)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s1") () ")"))) (; ";")) (expression_statement "uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);" (assignment_expression "uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8)" (identifier "uVar21") (= "=") (call_expression "(*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,10,0,ppppppiVar9,local_d8)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "10") (, ",") (number_literal "0") (, ",") (identifier "ppppppiVar9") (, ",") (identifier "local_d8") () ")")))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);" (call_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + 0x7a3c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + 0x7a3c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + 0x7a3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + 0x7a3c)" (( "(") (binary_expression "PTR_LAB_00190ba4 + 0x7a3c" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "0x7a3c")) () ")")))) () ")")) (argument_list "(unaff_s7,uVar21,pcVar29,0xfffffff4)" (( "(") (identifier "unaff_s7") (, ",") (identifier "uVar21") (, ",") (identifier "pcVar29") (, ",") (number_literal "0xfffffff4") () ")"))) (; ";")) (if_statement "if (param_5 == 0xb) {\n            param_5 = 2;\n          }" (if "if") (parenthesized_expression "(param_5 == 0xb)" (( "(") (binary_expression "param_5 == 0xb" (identifier "param_5") (== "==") (number_literal "0xb")) () ")")) (compound_statement "{\n            param_5 = 2;\n          }" ({ "{") (expression_statement "param_5 = 2;" (assignment_expression "param_5 = 2" (identifier "param_5") (= "=") (number_literal "2")) (; ";")) (} "}"))) (if_statement "if (0 < (int)unaff_s7[0x1b]) {\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }" (if "if") (parenthesized_expression "(0 < (int)unaff_s7[0x1b])" (( "(") (binary_expression "0 < (int)unaff_s7[0x1b]" (number_literal "0") (< "<") (cast_expression "(int)unaff_s7[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]")))) () ")")) (compound_statement "{\n            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;\n          }" ({ "{") (expression_statement "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;" (assignment_expression "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5" (pointer_expression "*(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (* "*") (cast_expression "(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16)" (( "(") (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16" (binary_expression "(int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1a]" (identifier "unaff_s7") ([ "[") (number_literal "0x1a") (] "]"))) (+ "+") (binary_expression "(int)unaff_s7[0x1b] * 0x18" (cast_expression "(int)unaff_s7[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]"))) (* "*") (number_literal "0x18"))) (+ "+") (number_literal "-0x16")) () ")")))) (= "=") (cast_expression "(short)param_5" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "param_5"))) (; ";")) (} "}"))) (if_statement "if ((int *******)param_1[0x1d] != (int *******)0x0) {\n            param_1 = (int *******)param_1[0x1d];\n          }" (if "if") (parenthesized_expression "((int *******)param_1[0x1d] != (int *******)0x0)" (( "(") (binary_expression "(int *******)param_1[0x1d] != (int *******)0x0" (cast_expression "(int *******)param_1[0x1d]" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]"))) (!= "!=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            param_1 = (int *******)param_1[0x1d];\n          }" ({ "{") (expression_statement "param_1 = (int *******)param_1[0x1d];" (assignment_expression "param_1 = (int *******)param_1[0x1d]" (identifier "param_1") (= "=") (cast_expression "(int *******)param_1[0x1d]" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)((int)param_1 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x15)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x15)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x15)" (( "(") (binary_expression "(int)param_1 + 0x15" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x15")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (ppppppiVar30 == (int ******)0x0) {\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }\n          else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" (if "if") (parenthesized_expression "(ppppppiVar30 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar30 == (int ******)0x0" (identifier "ppppppiVar30") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);\n            if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }\n            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }\n            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];\n            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);\n          }" ({ "{") (expression_statement "(*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);" (call_expression "(*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,5,local_e8,(int)local_e0 + 1,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "5") (, ",") (identifier "local_e8") (, ",") (binary_expression "(int)local_e0 + 1" (cast_expression "(int)local_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e0")) (+ "+") (number_literal "1")) (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if ((int)local_e0 < 0) {\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }" (if "if") (parenthesized_expression "((int)local_e0 < 0)" (( "(") (binary_expression "(int)local_e0 < 0" (cast_expression "(int)local_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e0")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);\n            }" ({ "{") (expression_statement "local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);" (assignment_expression "local_e0 = (int *******)((int)unaff_s7[0x1b] + -1)" (identifier "local_e0") (= "=") (cast_expression "(int *******)((int)unaff_s7[0x1b] + -1)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)unaff_s7[0x1b] + -1)" (( "(") (binary_expression "(int)unaff_s7[0x1b] + -1" (cast_expression "(int)unaff_s7[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]"))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }\n            else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" (if "if") (parenthesized_expression "(*(char *)((int)*unaff_s7 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)((int)*unaff_s7 + 0x51) == '\0'" (pointer_expression "*(char *)((int)*unaff_s7 + 0x51)" (* "*") (cast_expression "(char *)((int)*unaff_s7 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*unaff_s7 + 0x51)" (( "(") (binary_expression "(int)*unaff_s7 + 0x51" (cast_expression "(int)*unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;\n            }" ({ "{") (expression_statement "ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;" (assignment_expression "ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6" (identifier "ppppppiVar9") (= "=") (binary_expression "unaff_s7[0x1a] + (int)local_e0 * 6" (subscript_expression "unaff_s7[0x1a]" (identifier "unaff_s7") ([ "[") (number_literal "0x1a") (] "]")) (+ "+") (binary_expression "(int)local_e0 * 6" (cast_expression "(int)local_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e0")) (* "*") (number_literal "6")))) (; ";")) (} "}")) (else_clause "else {\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" (else "else") (compound_statement "{\n              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);\n            }" ({ "{") (expression_statement "ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);" (assignment_expression "ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc)" (identifier "ppppppiVar9") (= "=") (cast_expression "(int ******)(PTR_DAT_00190948 + 0xfbc)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(PTR_DAT_00190948 + 0xfbc)" (( "(") (binary_expression "PTR_DAT_00190948 + 0xfbc" (identifier "PTR_DAT_00190948") (+ "+") (number_literal "0xfbc")) () ")")))) (; ";")) (} "}")))) (expression_statement "ppppppiVar9[2] = (int *****)unaff_s7[0x1b];" (assignment_expression "ppppppiVar9[2] = (int *****)unaff_s7[0x1b]" (subscript_expression "ppppppiVar9[2]" (identifier "ppppppiVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int *****)unaff_s7[0x1b]" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "unaff_s7[0x1b]" (identifier "unaff_s7") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (expression_statement "(*pcVar13)(unaff_s7,0x75,local_e8,0,0);" (call_expression "(*pcVar13)(unaff_s7,0x75,local_e8,0,0)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(unaff_s7,0x75,local_e8,0,0)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0x75") (, ",") (identifier "local_e8") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" (else "else") (compound_statement "{\n            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);\n            pppppppiVar14 = param_1;\n          }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x592c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x592c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x592c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x592c)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x592c" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x592c")) () ")")))) () ")")) (argument_list "(local_d4)" (( "(") (identifier "local_d4") () ")"))) (; ";")) (expression_statement "pppppppiVar14 = param_1;" (assignment_expression "pppppppiVar14 = param_1" (identifier "pppppppiVar14") (= "=") (identifier "param_1")) (; ";")) (} "}")))) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_0010d60c:\n    pppppppiVar16 = local_58;" (statement_identifier "LAB_0010d60c") (: ":") (expression_statement "pppppppiVar16 = local_58;" (assignment_expression "pppppppiVar16 = local_58" (identifier "pppppppiVar16") (= "=") (identifier "local_58")) (; ";"))) (if_statement "if (local_58 != (int *******)0x0) {\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }" (if "if") (parenthesized_expression "(local_58 != (int *******)0x0)" (( "(") (binary_expression "local_58 != (int *******)0x0" (identifier "local_58") (!= "!=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_58 = (int *******)0x0;\n      pppppppiVar16[0x3b] = local_5c;\n    }" ({ "{") (expression_statement "local_58 = (int *******)0x0;" (assignment_expression "local_58 = (int *******)0x0" (identifier "local_58") (= "=") (cast_expression "(int *******)0x0" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppiVar16[0x3b] = local_5c;" (assignment_expression "pppppppiVar16[0x3b] = local_5c" (subscript_expression "pppppppiVar16[0x3b]" (identifier "pppppppiVar16") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (identifier "local_5c")) (; ";")) (} "}"))) (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2368))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2368)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2368)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2368" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2368")) () ")")))) () ")")) (argument_list "(ppppppiVar26,local_ec)" (( "(") (identifier "ppppppiVar26") (, ",") (identifier "local_ec") () ")"))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x210c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x210c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" (( "(") (binary_expression "PTR_LAB_00190bb8 + -0x210c" (identifier "PTR_LAB_00190bb8") (+ "+") (number_literal "-0x210c")) () ")")))) () ")")) (argument_list "(ppppppiVar26,param_2)" (( "(") (identifier "ppppppiVar26") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "param_1 = pppppppiVar14;" (assignment_expression "param_1 = pppppppiVar14" (identifier "param_1") (= "=") (identifier "pppppppiVar14")) (; ";")) (expression_statement "unaff_s1 = pcVar20;" (assignment_expression "unaff_s1 = pcVar20" (identifier "unaff_s1") (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "unaff_s5 = pcVar29;" (assignment_expression "unaff_s5 = pcVar29" (identifier "unaff_s5") (= "=") (identifier "pcVar29")) (; ";")) (expression_statement "unaff_s8 = ppppppiVar30;" (assignment_expression "unaff_s8 = ppppppiVar30" (identifier "unaff_s8") (= "=") (identifier "ppppppiVar30")) (; ";")) (labeled_statement "LAB_0010d64c:\n    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);" (statement_identifier "LAB_0010d64c") (: ":") (expression_statement "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);" (call_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bb8 + -0x4644))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bb8 + -0x4644)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x4644)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bb8 + -0x4644)" (( "(") (binary_expression "PTR_LAB_00190bb8 + -0x4644" (identifier "PTR_LAB_00190bb8") (+ "+") (number_literal "-0x4644")) () ")")))) () ")")) (argument_list "(ppppppiVar26,param_3)" (( "(") (identifier "ppppppiVar26") (, ",") (identifier "param_3") () ")"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

void function_1(type_1 *pParse,type_2 *pTabList,type_3 *var_44,type_4 *pWhere,int var_32,
                  type_3 *pOrderBy,type_4 *pLimit,type_5 *var_13)

{
  type_6 *var_28;
  type_7 var_53;
  type_6 var_11;
  type_8 *var_54;
  type_8 *puVar5;
  int var_36;
  int var_8;
  type_9 *pWVar8;
  int var_35;
  type_10 var_64;
  type_11 *pTVar11;
  type_12 wctrlFlags;
  type_13 uVar12;
  type_14 *var_48;
  type_15 *var_79;
  type_1 *pPVar15;
  type_16 *puVar16;
  int var_47;
  type_6 *var_24;
  type_1 *var_59;
  type_17 *pOVar20;
  type_6 *var_27;
  char *pcVar22;
  type_18 *var_29;
  type_19 *psVar24;
  short *psVar25;
  type_13 uVar26;
  type_14 *var_19;
  type_20 var_25;
  type_6 *var_26;
  type_1 *unaff_s0;
  type_20 var_65;
  type_21 *var_2;
  type_21 *var_23;
  type_19 *psVar32;
  type_22 *var_30;
  type_14 *var_77;
  type_21 *var_12;
  type_21 *var_10;
  type_1 *var_38;
  type_14 *pcVar36;
  type_4 *pEVar37;
  type_9 *var_58;
  type_9 *var_81;
  type_4 *var_45;
  type_4 *var_46;
  type_14 *var_69;
  type_14 *var_16;
  type_5 *var_50;
  type_14 *var_34;
  type_1 *pPStack_e0;
  type_14 *pcStack_dc;
  type_14 *var_31;
  type_9 *var_76;
  type_23 *var_41;
  type_14 *pcStack_cc;
  type_9 *pWStack_c8;
  type_14 *var_33;
  type_19 *var_42;
  type_24 *var_4;
  type_4 *var_78;
  int var_51;
  int var_9;
  type_14 *var_14;
  type_14 *var_17;
  int var_55;
  int var_75;
  type_14 *var_18;
  int var_66;
  type_1 *pPStack_90;
  type_14 *var_67;
  type_9 *var_57;
  int var_68;
  int var_37;
  type_25 sContext;
  type_26 sNC;
  int aiCurOnePass [2];
  
  puVar5 = PTR___stack_chk_guard_00190e24;
  var_45 = (type_4 *)pOrderBy;
  psVar32 = pParse->db;
  var_47 = *(int *)PTR___stack_chk_guard_00190e24;
  var_46 = pLimit;
  var_37 = 0;
  sContext.zAuthContext = (char *)0x0;
  sContext.pParse = (type_1 *)0x0;
  var_50 = var_13;
  if ((pParse->nErr != 0) || (psVar32->mallocFailed != '\0')) goto LAB_0010d4a8;
  var_2 = var_1(pParse,pTabList);
  if (var_2 != (type_21 *)0x0) {
    if (var_2->pSchema == (type_27 *)0x0) {
      var_51 = -1000000;
    }
    else {
      var_51 = (*(type_14 *)(var_3 + -0x31a4))(pParse->db);
    }
    var_41 = (type_23 *)
                 (*(type_14 *)(var_3 + -0x2620))(pParse,var_2,0x76,var_44,&var_68);
    var_4 = var_2->pSelect;
    if (var_4 == (type_24 *)0x0) {
      pWhere = (type_4 *)(*(type_14 *)(var_5 + -14000))
                                 (pParse,pTabList,pWhere,pOrderBy,pLimit,var_6 + 0x6b68);
      var_46 = (type_4 *)0x0;
      var_45 = (type_4 *)0x0;
    }
    var_8 = var_7(pParse,var_2);
    if ((var_8 == 0) &&
       (var_9 = (*(type_14 *)(var_5 + -0x73d8))(pParse,var_2,var_68), var_9 == 0))
    {
      var_76 = (type_9 *)pParse->nTab;
      pWStack_c8 = (type_9 *)((int)&var_76->pParse + 1);
      pParse->nTab = (int)pWStack_c8;
      var_10 = (type_21 *)var_2->pIndex;
      var_58 = var_76;
      if ((var_2->tabFlags & 0x20) == 0) {
        var_12 = (type_21 *)0x0;
        if (var_10 != (type_21 *)0x0) goto LAB_0010d700;
        pPStack_90 = (type_1 *)0x0;
      }
      else if (var_10 == (type_21 *)0x0) {
        var_12 = (type_21 *)0x0;
        pPStack_90 = (type_1 *)0x0;
      }
      else {
        var_11 = (type_6)var_10->addColOffset;
        var_12 = var_10;
        while (((var_11 & 0xc0) != 0x80 &&
               (var_12 = (type_21 *)var_12->zColAff, var_12 != (type_21 *)0x0))) {
          var_11 = (type_6)var_12->addColOffset;
        }
LAB_0010d700:
        var_81 = pWStack_c8;
        do {
          if (var_12 == var_10) {
            var_58 = var_81;
          }
          var_81 = (type_9 *)((int)&var_81->pParse + 1);
          pParse->nTab = (int)var_81;
          var_10 = (type_21 *)var_10->zColAff;
          pPStack_90 = (type_1 *)((int)var_81->aiCurOnePass + (~(type_20)var_76 - 0x18));
        } while (var_10 != (type_21 *)0x0);
      }
      if (var_13 != (type_5 *)0x0) {
        var_58 = (type_9 *)var_13->iDataCur;
        pWStack_c8 = (type_9 *)var_13->iIdxCur;
        pParse->nTab = (int)var_76;
      }
      pTabList->a[0].iCursor = (int)var_58;
      var_14 = (type_14 *)(type_20)psVar32->mallocFailed;
      var_38 = pPStack_90;
      if ((var_14 == (type_14 *)0x0) &&
         (var_16 = (type_14 *)(*(type_14 *)(var_15 + 0x854))(psVar32),
         var_16 != (type_14 *)0x0)) {
        var_17 = var_16 + var_2->nCol * 4;
        var_18 = var_17 + (int)pPStack_90 * 4;
        (*(type_14 *)PTR_memset_00190d58)(var_18,1);
        (var_18 + (int)pPStack_90)[1] = (type_14)0x0;
        if (0 < var_2->nCol) {
          var_8 = 0;
          var_19 = var_16;
          do {
            *(type_13 *)var_19 = 0xffffffff;
            var_8 = var_8 + 1;
            var_19 = var_19 + 4;
          } while (var_8 < var_2->nCol);
        }
        sNC.pNext = (type_26 *)0x0;
        sNC.nRef = 0;
        sNC.uNC.var_13 = var_13;
        sNC.nErr = 0;
        sNC.pWinSelect = (type_24 *)0x0;
        sNC.ncFlags = 0x200;
        sNC._26_2_ = 0;
        sNC.pParse = pParse;
        sNC.pSrcList = pTabList;
        if (var_44->nExpr < 1) {
          var_31 = (type_14 *)0x0;
          var_78 = (type_4 *)0x0;
        }
        else {
          var_30 = var_44->a;
          pPVar15 = (type_1 *)&sNC;
          var_38 = (type_1 *)(var_20 + -0x3c18);
          var_81 = (type_9 *)0x0;
          var_31 = (type_14 *)0x0;
          var_34 = (type_14 *)(var_21 + 0x6280);
          var_78 = (type_4 *)0x0;
          var_33 = (type_14 *)(var_3 + -0x4b2c);
          var_42 = (type_19 *)(var_22 + -0x651c);
          var_19 = (type_14 *)(var_21 + 0x5b90);
          do {
            var_23 = (type_21 *)(*var_34)(pPVar15,var_30->pExpr);
            var_10 = var_2;
            if (var_23 != (type_21 *)0x0) goto LAB_0010d60c;
            var_26 = (type_6 *)var_30->zName;
            if (0 < var_2->nCol) {
              var_29 = var_2->aCol;
              do {
                var_24 = (type_6 *)var_29->zName;
                var_25 = (type_20)*var_24;
                var_27 = var_26;
                if (*(char *)((int)&var_38->db + var_25) ==
                    *(char *)((int)&var_38->db + (type_20)*var_26)) {
                  do {
                    if (var_25 == 0) {
                      if (var_23 == (type_21 *)(int)var_2->iPKey) {
                        var_78 = var_30->pExpr;
                        var_31 = (type_14 *)0x1;
                      }
                      else if ((var_12 != (type_21 *)0x0) && ((var_29->colFlags & 1) != 0)) {
                        var_14 = (type_14 *)(var_29->colFlags & 1);
                      }
                      *(type_9 **)(var_16 + (int)var_23 * 4) = var_81;
                      if ((int)var_2->nCol <= (int)var_23) {
                        var_26 = (type_6 *)var_30->zName;
                        goto LAB_0010d954;
                      }
                      pcVar22 = var_2->zName;
                      psVar24 = (type_19 *)var_2->aCol[(int)var_23].zName;
                      goto LAB_0010d98c;
                    }
                    var_24 = var_24 + 1;
                    var_28 = var_27 + 1;
                    var_25 = (type_20)*var_24;
                    var_27 = var_27 + 1;
                  } while (*(char *)((int)&var_38->db + var_25) ==
                           *(char *)((int)&var_38->db + (type_20)*var_28));
                }
                var_23 = (type_21 *)((int)&var_23->zName + 1);
                var_29 = var_29 + 1;
              } while ((type_21 *)(int)var_2->nCol != var_23);
            }
LAB_0010d954:
            if ((var_12 != (type_21 *)0x0) || (var_8 = (*var_33)(var_26), var_8 == 0)) {
              (*(type_14 *)(var_21 + 0x5160))
                        (pParse,var_22 + -0x4c3c,var_26);
              pParse->checkSchema = '\x01';
              pPVar15 = pParse;
              goto LAB_0010d60c;
            }
            var_78 = var_30->pExpr;
            var_23 = (type_21 *)0xffffffff;
            pcVar22 = var_2->zName;
            var_31 = (type_14 *)0x1;
            psVar24 = var_42;
LAB_0010d98c:
            var_8 = (*var_19)(pParse,0x17,pcVar22,psVar24,psVar32->aDb[var_51].zDbSName);
            if (var_8 == 1) goto LAB_0010d60c;
            if (var_8 == 2) {
              *(type_13 *)(var_16 + (int)var_23 * 4) = 0xffffffff;
            }
            var_81 = (type_9 *)((int)&var_81->pParse + 1);
            var_30 = var_30 + 1;
          } while ((int)var_81 < var_44->nExpr);
        }
        var_33 = (type_14 *)((type_20)(var_31 + (int)var_14) & 0xff);
        var_8 = -(type_20)(var_2->nModuleArg != 0);
        var_19 = (type_14 *)(var_3 + -0x3768);
        *(int *)&pTabList->a[0].colUsed = var_8;
        *(int *)((int)&pTabList->a[0].colUsed + 4) = var_8;
        var_42 = (type_19 *)(*var_19)(pParse->db,var_2,var_16);
        if (var_32 == 5) {
          var_10 = (type_21 *)var_2->pIndex;
          var_37 = 1;
          if (var_10 != (type_21 *)0x0) goto LAB_0010da68;
        }
        else {
          var_10 = (type_21 *)var_2->pIndex;
          if (var_10 != (type_21 *)0x0) {
LAB_0010da68:
            var_34 = (type_14 *)(type_20)((int)var_42 < 2);
            var_8 = 0;
            var_48 = (type_14 *)(var_3 + -0x56dc);
            var_19 = var_17;
            do {
              if ((((var_33 == (type_14 *)0x0) && (var_34 != (type_14 *)0x0)) &&
                  (var_10 != var_12)) &&
                 ((var_10->tabFlags == 0 ||
                  (var_35 = (*var_48)(var_10->tabFlags,var_16,var_31), var_35 == 0)))) {
                var_35 = 0;
                if (*(short *)&var_10->field_0x32 != 0) {
                  do {
                    var_36 = (int)*(short *)((int)&var_10->aCol->zName + var_35 * 2);
                    if (var_36 < 0) {
                      var_25 = (*var_48)(*(type_13 *)
                                           (*(int *)&var_10->iPKey + 4 + var_35 * 0x14),var_16,
                                          var_31);
                    }
                    else {
                      var_25 = ~*(type_20 *)(var_16 + var_36 * 4) >> 0x1f;
                    }
                    var_35 = var_35 + 1;
                    if (var_25 != 0) {
                      var_35 = pParse->nMem + 1;
                      pParse->nMem = var_35;
                      pParse->nMem = (type_20)*(type_28 *)&var_10->addColOffset + var_35;
                      if ((var_32 == 0xb) &&
                         (*(type_16 *)((int)&var_10->addColOffset + 2) == '\x05')) {
                        var_37 = 1;
                      }
                      goto LAB_0010dabc;
                    }
                  } while (var_35 < (int)(type_20)*(type_28 *)&var_10->field_0x32);
                }
LAB_0010dac8:
                var_35 = 0;
                var_18[var_8 + 1] = (type_14)0x0;
              }
              else {
                var_35 = pParse->nMem + 1;
                pParse->nMem = var_35;
                pParse->nMem = (type_20)*(type_28 *)&var_10->addColOffset + var_35;
LAB_0010dabc:
                if (var_35 == 0) goto LAB_0010dac8;
              }
              *(int *)var_19 = var_35;
              var_8 = var_8 + 1;
              var_10 = (type_21 *)var_10->zColAff;
              var_19 = var_19 + 4;
            } while (var_10 != (type_21 *)0x0);
          }
          if (var_37 == 0) goto LAB_0010dcb0;
        }
        (*(type_14 *)PTR_memset_00190d58)(var_18,1,(type_8 *)((int)&pPStack_90->db + 1));
LAB_0010dcb0:
        var_38 = (type_1 *)pParse->pVdbe;
        if ((var_38 == (type_1 *)0x0) &&
           (var_38 = (type_1 *)(*(type_14 *)(var_39 + 0x1274))(pParse), pPVar15 = pParse,
           var_23 = var_2, var_10 = var_12, var_81 = var_58, var_38 == (type_1 *)0x0))
        goto LAB_0010d60c;
        if (pParse->nested == '\0') {
          *(type_6 *)((int)var_38->aTempReg + 5) = *(type_6 *)((int)var_38->aTempReg + 5) & 0xfb | 4
          ;
        }
        (*(type_14 *)(var_40 + 0x6508))
                  (pParse,var_41 != (type_23 *)0x0 || var_42 != (type_19 *)0x0,var_51);
        if (var_2->nModuleArg != 0) {
          var_66 = 0;
          var_67 = (type_14 *)0x0;
          pcStack_cc = (type_14 *)0x0;
          var_34 = (type_14 *)0x0;
          goto LAB_0010dd68;
        }
        var_8 = pParse->nMem;
        var_34 = (type_14 *)(var_8 + 2);
        var_9 = var_8 + 1;
        pParse->nMem = (int)var_34;
        if (var_14 == (type_14 *)0x0) {
          if (var_41 != (type_23 *)0x0) {
            var_66 = var_8 + 3;
            var_19 = var_34 + var_2->nCol;
            goto LAB_0010dd48;
          }
          var_48 = var_31;
          if (var_42 == (type_19 *)0x0) goto LAB_0010ef6c;
          var_66 = var_8 + 3;
          var_19 = var_34 + var_2->nCol;
          pParse->nMem = (int)var_19;
          if (var_31 != (type_14 *)0x0) goto LAB_0010dd48;
        }
        else {
          var_66 = var_8 + 3;
          var_19 = var_34 + var_2->nCol;
          pParse->nMem = (int)var_19;
          if (var_33 != (type_14 *)0x0) goto LAB_0010dd48;
          if (var_41 != (type_23 *)0x0) goto LAB_0010dd48;
          pcStack_cc = var_34;
          if (var_42 == (type_19 *)0x0) goto LAB_0010dd54;
        }
        var_66 = var_8 + 3;
        var_19 = (type_14 *)pParse->nMem;
        goto LAB_0010dd48;
      }
    }
  }
  unaff_s0 = pParse;
  if (sContext.pParse != (type_1 *)0x0) {
    (sContext.pParse)->zAuthContext = sContext.zAuthContext;
    sContext.pParse = (type_1 *)0x0;
  }
LAB_0010d4a8:
  (*(type_14 *)(var_43 + -0x210c))(psVar32,pTabList);
  pParse = unaff_s0;
  if (var_44 != (type_3 *)0x0) goto LAB_0010d64c;
  do {
    if ((type_24 *)pWhere != (type_24 *)0x0) {
      (*(type_14 *)(var_43 + -0x47b0))(psVar32,pWhere);
    }
    if (var_45 != (type_4 *)0x0) {
      (*(type_14 *)(var_43 + -0x4644))(psVar32,var_45);
    }
    if (var_46 != (type_4 *)0x0) {
      (*(type_14 *)(var_43 + -0x47b0))(psVar32,var_46);
    }
    if (var_47 == *(int *)puVar5) {
      return;
    }
    var_48 = (type_14 *)(*(type_14 *)PTR___stack_chk_fail_00190df8)();
LAB_0010ef6c:
    var_19 = var_34;
    if (var_48 == (type_14 *)0x0) {
      var_66 = 0;
      pcStack_cc = var_34;
    }
    else {
      var_66 = 0;
LAB_0010dd48:
      var_19 = var_19 + 1;
      pParse->nMem = (int)var_19;
      pcStack_cc = var_19;
    }
LAB_0010dd54:
    var_67 = var_19 + 1;
    pParse->nMem = (int)(var_19 + var_2->nCol);
LAB_0010dd68:
    if (var_4 != (type_24 *)0x0) {
      sContext.zAuthContext = pParse->zAuthContext;
      pParse->zAuthContext = var_2->zName;
      sContext.pParse = pParse;
      var_49
                (pParse,var_2,(type_4 *)var_2->pSchema,(type_3 *)pWhere,var_45,
                 (int)var_46,(type_21 *)var_58);
      var_46 = (type_4 *)0x0;
      var_45 = (type_4 *)0x0;
    }
    var_8 = (*(type_14 *)(var_21 + 0x6280))(&sNC,pWhere);
    var_54 = var_39;
    pPVar15 = pParse;
    var_23 = var_2;
    var_10 = var_12;
    var_81 = var_58;
    if (var_8 == 0) {
      if (var_2->nModuleArg == 0) {
        pWVar8 = (type_9 *)(pParse->nLabel + -1);
        pParse->nLabel = (int)pWVar8;
        if ((((psVar32->flags & 0x80) == 0) || (pParse->pTriggerTab != (type_21 *)0x0)) ||
           (pParse->nested != '\0')) {
          if ((var_2->tabFlags & 0x20) == 0) {
            (*(type_14 *)(var_39 + 0x10fc))(var_38,0x49,0,var_9,var_34);
            if (var_50 == (type_5 *)0x0) {
              var_75 = 0;
              goto LAB_0010efcc;
            }
            pcStack_dc = (type_14 *)0x0;
            var_19 = (type_14 *)0x0;
            var_51 = 0;
          }
          else {
            var_51 = (int)*(short *)&var_12->field_0x32;
            var_19 = (type_14 *)(pParse->nMem + 1);
            pcStack_dc = (type_14 *)(pParse->nMem + var_51 + 1);
            pParse->nMem = (int)pcStack_dc;
            if (var_50 == (type_5 *)0x0) {
              var_75 = 0;
              goto LAB_0010e728;
            }
          }
LAB_0010de50:
          (*(type_14 *)(var_52 + 0x6550))(pParse,pWhere,pWVar8,0x10);
          var_8 = 0;
          var_75 = 0;
          var_55 = 0;
          var_53 = '\x01';
          var_57 = (type_9 *)0x0;
LAB_0010de98:
          if ((var_2->tabFlags & 0x20) == 0) {
            (*(type_14 *)(var_39 + 0x10fc))(var_38,0x80,var_58,var_34,0);
            var_51 = 0;
LAB_0010df40:
            if (var_50 == (type_5 *)0x0) {
              if (var_53 != '\x02') {
                (*(type_14 *)(var_5 + 0x592c))(var_57);
                if (var_4 != (type_24 *)0x0) {
                  var_69 = (type_14 *)(var_39 + 0x10fc);
                  goto LAB_0010e700;
                }
                var_69 = (type_14 *)(var_39 + 0x10fc);
                goto LAB_0010ea7c;
              }
              if (var_4 == (type_24 *)0x0) {
                var_69 = (type_14 *)(var_39 + 0x10fc);
                goto LAB_0010e5d8;
              }
              var_69 = (type_14 *)(var_39 + 0x10fc);
              var_8 = pParse->nLabel;
LAB_0010e570:
              pParse->nLabel = var_8 + -1;
              var_76 = (type_9 *)(var_8 + -1);
              goto LAB_0010e580;
            }
            var_9 = 0;
            var_76 = pWVar8;
          }
          else {
            if (var_51 < 1) {
LAB_0010df38:
              pcStack_dc = var_19;
              if (var_8 != 0) {
                (*(type_14 *)(var_3 + -0x2478))(var_38->db,&var_38->nTableLock,var_8);
              }
              goto LAB_0010df40;
            }
LAB_0010deb0:
            var_35 = 0;
            pcVar36 = (type_14 *)(var_5 + 0x4eb8);
            var_48 = var_19;
            do {
              psVar25 = (short *)((int)&var_12->aCol->zName + var_35);
              var_35 = var_35 + 2;
              (*pcVar36)(var_38,var_2,var_58,(int)*psVar25,var_48);
              var_48 = var_48 + 1;
            } while (var_51 << 1 != var_35);
LAB_0010df30:
            if (var_53 != '\0') goto LAB_0010df38;
            var_69 = (type_14 *)(var_39 + 0x10fc);
LAB_0010ee9c:
            uVar26 = (*(type_14 *)(var_15 + 0x1c4c))(psVar32,var_12);
            uVar12 = (*var_69)(var_38,0x66,var_19,var_51,pcStack_dc);
            (*(type_14 *)(var_3 + 0x7a3c))(var_38,uVar12,uVar26,var_51);
            (*(type_14 *)(var_39 + 0x13a0))
                      (var_38,0x84,var_55,pcStack_dc,var_19,var_51);
            var_53 = '\0';
            if (var_50 == (type_5 *)0x0) goto LAB_0010e8dc;
            var_51 = 0;
            var_9 = 0;
            var_76 = pWVar8;
          }
        }
        else {
          if (var_50 != (type_5 *)0x0) {
            if ((var_2->tabFlags & 0x20) == 0) {
              (*(type_14 *)(var_39 + 0x10fc))(var_38,0x49,0,var_9,var_34);
              var_19 = (type_14 *)0x0;
              var_51 = 0;
              pcStack_dc = (type_14 *)0x0;
            }
            else {
              var_51 = (int)*(short *)&var_12->field_0x32;
              var_19 = (type_14 *)(pParse->nMem + 1);
              pcStack_dc = (type_14 *)(var_51 + pParse->nMem + 1);
              pParse->nMem = (int)pcStack_dc;
            }
            goto LAB_0010de50;
          }
          var_75 = pParse->nMem + 1;
          var_19 = (type_14 *)(var_39 + 0x10fc);
          pParse->nMem = var_75;
          (*var_19)(var_38,0x46,0,var_75,0);
          if ((var_2->tabFlags & 0x20) == 0) {
            (*var_19)(var_38,0x49,0,var_9,var_34);
LAB_0010efcc:
            pcStack_dc = (type_14 *)0x0;
            var_19 = (type_14 *)0x0;
            var_8 = 0;
            var_55 = 0;
            var_51 = 0;
          }
          else {
            var_51 = (int)*(short *)&var_12->field_0x32;
            var_19 = (type_14 *)(pParse->nMem + 1);
            pcStack_dc = (type_14 *)(var_51 + pParse->nMem + 1);
            pParse->nMem = (int)pcStack_dc;
LAB_0010e728:
            var_69 = (type_14 *)(var_54 + 0x10fc);
            var_55 = pParse->nTab;
            pParse->nTab = var_55 + 1;
            (*var_69)(var_38,0x49,0,var_19,var_19 + var_51 + -1);
            var_8 = (*var_69)(var_38,0x71,var_55,var_51,0);
            (*(type_14 *)(var_5 + -0x62dc))(pParse,var_12);
          }
          var_69 = (type_14 *)(var_54 + 0x10fc);
          wctrlFlags = 0x1004;
          if (((var_33 == (type_14 *)0x0 && pParse->nested == '\0') &&
              (wctrlFlags = 0x1004, var_41 == (type_23 *)0x0)) &&
             (wctrlFlags = 0x1004, var_42 == (type_19 *)0x0 && var_37 == 0)) {
            wctrlFlags = 0x100c;
          }
          var_57 = var_56(pParse,pTabList,pWhere,(type_3 *)0x0,(type_3 *)0x0,
                                         wctrlFlags,(int)pWStack_c8);
          if (var_57 == (type_9 *)0x0) goto LAB_0010d60c;
          aiCurOnePass[0] = var_57->aiCurOnePass[0];
          aiCurOnePass[1] = var_57->aiCurOnePass[1];
          var_53 = var_57->eOnePass;
          if (var_53 == '\x01') goto LAB_0010de98;
          var_59 = pParse->pToplevel;
          if (pParse->pToplevel == (type_1 *)0x0) {
            var_59 = pParse;
          }
          var_59->isMultiWrite = '\x01';
          if (var_53 == '\x02') {
            if (((aiCurOnePass[1] < 0) || (var_58 == (type_9 *)aiCurOnePass[1])) ||
               (var_18[aiCurOnePass[1] - (int)var_76] == (type_14)0x0)) goto LAB_0010de98;
            if ((var_2->tabFlags & 0x20) == 0) {
              (*var_69)(var_38,0x80,var_58,var_34,0);
              goto LAB_0010e8bc;
            }
            var_53 = '\0';
            if (0 < var_51) goto LAB_0010deb0;
            goto LAB_0010ee9c;
          }
          if ((var_2->tabFlags & 0x20) != 0) {
            if (0 < var_51) goto LAB_0010deb0;
            goto LAB_0010df30;
          }
          (*var_69)(var_38,0x80,var_58,var_34,0);
          if (var_53 == '\0') {
LAB_0010e8bc:
            (*var_69)(var_38,0x94,var_9,var_34,0);
            var_53 = '\0';
          }
LAB_0010e8dc:
          (*(type_14 *)(var_5 + 0x592c))(var_57);
          if (var_4 == (type_24 *)0x0) {
            var_51 = 0;
LAB_0010ea7c:
            if (var_53 == '\0') {
LAB_0010e634:
              var_59 = (type_1 *)var_2->nModuleArg;
              if (var_59 == (type_1 *)0x0) {
LAB_0010e640:
                (*(type_14 *)(var_5 + 0x64e0))
                          (pParse,var_2,0x6e,0,var_76,var_18,0,0);
                pPStack_90 = var_59;
                goto LAB_0010e680;
              }
            }
            else {
LAB_0010e5d8:
              if (-1 < aiCurOnePass[0]) {
                var_18[aiCurOnePass[0] - (int)var_76] = (type_14)0x0;
              }
              if (-1 < aiCurOnePass[1]) {
                var_18[aiCurOnePass[1] - (int)var_76] = (type_14)0x0;
              }
              if ((var_53 != '\x02') ||
                 ((int)((int)&pPStack_90->db + (~aiCurOnePass[1] >> 0x1f)) < 1)) goto LAB_0010e634;
              var_59 = (type_1 *)(*var_69)(var_38,0x11,0,0,0);
              if (var_2->nModuleArg == 0) goto LAB_0010e640;
LAB_0010e680:
              if (var_59 != (type_1 *)0x0) {
                pTVar11 = var_38->aTableLock;
                if ((int)var_59 < 0) {
                  var_59 = (type_1 *)((int)&pTVar11[-1].zLockName + 3);
                }
                if (var_38->db->mallocFailed == '\0') {
                  ((type_17 *)var_38->nTableLock)[(int)var_59].p2 = (int)pTVar11;
                }
                else {
                  *(type_11 **)(var_60 + 0xfc4) = pTVar11;
                }
              }
            }
            if (var_53 != '\0') {
              if (((type_9 *)aiCurOnePass[0] != var_58) &&
                 ((type_9 *)aiCurOnePass[1] != var_58)) {
                (*(type_14 *)(var_39 + 0x13a0))
                          (var_38,0x1c,var_58,pWVar8,pcStack_dc,var_51);
              }
              goto LAB_0010e700;
            }
          }
          else {
            var_51 = 0;
            if (var_53 != '\0') {
LAB_0010e700:
              var_76 = pWVar8;
              if (var_53 != '\x01') {
                var_8 = pParse->nLabel;
                goto LAB_0010e570;
              }
LAB_0010e580:
              var_19 = var_34;
              if (var_12 != (type_21 *)0x0) {
                var_19 = pcStack_dc;
              }
              (*var_69)(var_38,0x32,var_19,pWVar8,0);
              var_9 = 0;
              goto LAB_0010df54;
            }
          }
          if (var_12 == (type_21 *)0x0) {
            var_76 = (type_9 *)(*var_69)(var_38,0x29,var_9,pWVar8,var_34);
            (*var_69)(var_38,0x1f,var_58,var_76,var_34);
            var_53 = '\0';
            var_9 = 0;
          }
          else {
            var_76 = (type_9 *)(pParse->nLabel + -1);
            pParse->nLabel = (int)var_76;
            (*var_69)(var_38,0x24,var_55,pWVar8,0);
            var_9 = (*var_69)(var_38,0x7f,var_55,pcStack_dc,0);
            (*(type_14 *)(var_39 + 0x13a0))(var_38,0x1c,var_58,var_76,pcStack_dc,0);
            var_53 = '\0';
          }
        }
LAB_0010df54:
        if (var_31 != (type_14 *)0x0) {
          (*(type_14 *)(var_61 + -0x7cdc))(pParse,var_78,pcStack_cc);
          (*(type_14 *)(var_39 + 0x10fc))(var_38,0xf,pcStack_cc,0,0);
        }
        if (var_14 == (type_14 *)0x0) {
          if (var_42 != (type_19 *)0x0) {
LAB_0010e4cc:
            if ((pParse->db->flags & 0x4000) == 0) goto LAB_0010df7c;
            var_25 = (*(type_14 *)(var_5 + -0x6eb0))(pParse,var_2);
            goto LAB_0010df80;
          }
          if (var_41 != (type_23 *)0x0) {
LAB_0010df7c:
            var_25 = 0;
            goto LAB_0010df80;
          }
          var_69 = (type_14 *)(var_62 + -0x3b58);
        }
        else {
          var_25 = 0;
          if (var_42 != (type_19 *)0x0) goto LAB_0010e4cc;
LAB_0010df80:
          var_69 = (type_14 *)(var_62 + -0x3b58);
          var_64 = var_63(pParse,var_41,var_44,0,3,var_2,var_32);
          if (0 < var_2->nCol) {
            var_65 = 0;
            var_14 = (type_14 *)(var_5 + 0x4eb8);
            var_18 = (type_14 *)(var_39 + 0x10fc);
            do {
              if (((var_25 | var_64) == 0xffffffff) ||
                 ((((int)var_65 < 0x20 && ((1 << (var_65 & 0x1f) & (var_25 | var_64)) != 0)) ||
                  ((var_2->aCol[var_65].colFlags & 1) != 0)))) {
                (*var_14)(var_38,var_2,var_58,var_65,var_66 + var_65);
              }
              else {
                (*var_18)(var_38,0x49,0,var_66 + var_65,0);
              }
              var_65 = var_65 + 1;
              pPStack_90 = pParse;
            } while ((int)var_65 < (int)var_2->nCol);
          }
          if ((var_31 == (type_14 *)0x0) && (var_12 == (type_21 *)0x0)) {
            (*(type_14 *)(var_39 + 0x10fc))(var_38,0x4e,var_34,pcStack_cc,0);
          }
        }
        var_78 = (type_4 *)(*var_69)(pParse,var_41,var_44,1,1,var_2,var_32);
        var_54 = var_61;
        if (0 < var_2->nCol) {
          var_25 = 0;
          var_69 = var_16;
          var_18 = (type_14 *)var_61;
          var_14 = (type_14 *)(var_5 + 0x4eb8);
          var_19 = (type_14 *)(var_39 + 0x10fc);
          do {
            var_48 = var_67 + var_25;
            if ((int)var_2->iPKey == var_25) {
LAB_0010e30c:
              (*var_19)(var_38,0x49,0,var_48,0);
            }
            else if (*(int *)var_69 < 0) {
              if ((((var_68 & 1U) != 0) && ((int)var_25 < 0x20)) &&
                 (((type_20)var_78 >> (var_25 & 0x1f) & 1) == 0)) goto LAB_0010e30c;
              (*var_14)(var_38,var_2,var_58,var_25,var_48);
            }
            else {
              (*(type_14 *)(var_54 + -0x7cdc))(pParse,var_44->a[*(int *)var_69].pExpr,var_48);
            }
            var_25 = var_25 + 1;
            var_69 = var_69 + 4;
          } while ((int)var_25 < (int)var_2->nCol);
        }
        if ((var_68 & 1U) == 0) {
          var_31 = (type_14 *)(var_62 + -0x2cec);
        }
        else {
          (*(type_14 *)(var_39 + 0x15f0))(var_38,var_2,var_67);
          var_31 = (type_14 *)(var_62 + -0x2cec);
          var_70
                    (pParse,var_41,0x76,var_44,1,var_2,(int)var_34,var_32,
                     (int)var_76);
          if (var_12 == (type_21 *)0x0) {
            (*(type_14 *)(var_39 + 0x10fc))(var_38,0x1f,var_58,var_76,var_34);
          }
          else {
            (*(type_14 *)(var_39 + 0x13a0))
                      (var_38,0x1c,var_58,var_76,pcStack_dc,var_51);
          }
          var_8 = (int)var_2->nCol;
          if (0 < var_8) {
            pEVar37 = (type_4 *)(var_5 + 0x4eb8);
            var_35 = 0;
            var_19 = var_16;
            do {
              if ((*(int *)var_19 < 0) && (var_2->iPKey != var_35)) {
                (*(type_14 *)pEVar37)(var_38,var_2,var_58,var_35,var_67 + var_35);
                var_8 = (int)var_2->nCol;
                var_78 = pEVar37;
                var_14 = var_19;
              }
              var_35 = var_35 + 1;
              var_19 = var_19 + 4;
            } while (var_35 < var_8);
          }
        }
        if (var_4 == (type_24 *)0x0) {
          var_71
                    (pParse,var_2,(int *)var_17,(int)var_58,(int)pWStack_c8,(int)pcStack_cc
                     ,(int)var_34,(type_7)var_33,(type_7)var_32,(int)var_76,&var_37,
                     (int *)var_16,(type_5 *)0x0);
          if (var_42 != (type_19 *)0x0) {
            var_72(pParse,var_2,(int)var_34,0,(int *)var_16,(int)var_33);
          }
          var_54 = var_39;
          if ((var_37 == 0) && (var_33 == (type_14 *)0x0)) {
            var_73
                      (pParse,var_2,(int)var_58,(int)pWStack_c8,(int *)var_17,-1);
            puVar16 = (type_16 *)0x0;
            if ((int)var_42 < 2) {
              uVar26 = 0x44;
              var_69 = (type_14 *)(var_39 + 0x10fc);
            }
            else {
              uVar26 = 4;
              var_69 = (type_14 *)(var_39 + 0x10fc);
            }
          }
          else {
            if (var_12 == (type_21 *)0x0) {
              puVar16 = (type_16 *)
                        (*(type_14 *)(var_39 + 0x10fc))(var_38,0x1f,var_58,0,var_34);
            }
            else {
              puVar16 = (type_16 *)
                        (*(type_14 *)(var_39 + 0x10fc))(var_38,0x1c,var_58,0,pcStack_dc);
              if (var_38->db->mallocFailed == '\0') {
                pOVar20 = (type_17 *)var_38->nTableLock;
                pOVar20[(int)puVar16].p4type = -3;
                pOVar20[(int)puVar16].p4.i = var_51;
              }
            }
            var_69 = (type_14 *)(var_54 + 0x10fc);
            var_73
                      (pParse,var_2,(int)var_58,(int)pWStack_c8,(int *)var_17,-1);
            uVar26 = 4;
            if (((int)var_42 < 2) && (var_33 == (type_14 *)0x0)) {
              uVar26 = 0x44;
            }
          }
          (*var_69)(var_38,0x7b,var_58,uVar26,pcStack_cc);
          if ((var_53 == '\x02') && (0 < (int)var_38->aTableLock)) {
            ((type_17 *)var_38->nTableLock)[(int)((int)&var_38->aTableLock[-1].zLockName + 3)].p5 = 2
            ;
          }
          if (pParse->nested == '\0') {
            (*(type_14 *)(var_3 + -0x24d4))(var_38,var_2,0xfffffffa);
          }
          if ((var_37 != 0) || (var_33 != (type_14 *)0x0)) {
            if ((int)puVar16 < 0) {
              puVar16 = (type_16 *)((int)&var_38->aTableLock[-1].zLockName + 3);
            }
            if (var_38->db->mallocFailed == '\0') {
              pOVar20 = (type_17 *)var_38->nTableLock + (int)puVar16;
            }
            else {
              pOVar20 = (type_17 *)(var_60 + 0xfbc);
            }
            pOVar20->p2 = (int)var_38->aTableLock;
          }
          if (var_42 == (type_19 *)0x0) {
            if (var_53 == '\x02') {
              uVar26 = 6;
            }
            else {
              uVar26 = 4;
            }
            (*(type_14 *)(var_39 + 0x2940))
                      (pParse,var_2,var_58,pWStack_c8,pcStack_cc,var_17,uVar26,0,0);
          }
          else {
            var_72(pParse,var_2,0,(int)pcStack_cc,(int *)var_16,(int)var_33);
            if (var_53 == '\x02') {
              uVar26 = 6;
            }
            else {
              uVar26 = 4;
            }
            (*(type_14 *)(var_39 + 0x2940))
                      (pParse,var_2,var_58,pWStack_c8,pcStack_cc,var_17,uVar26,0,0);
            if ((pParse->db->flags & 0x4000) != 0) {
              var_74(pParse,var_2,var_44,(int)var_34,(int *)var_16,
                               (int)var_33);
            }
          }
        }
        if (var_75 != 0) {
          (*(type_14 *)(var_39 + 0x10fc))(var_38,0x53,var_75,1,0);
        }
        (*var_31)(pParse,var_41,0x76,var_44,2,var_2,var_34,var_32,var_76);
        if (var_53 == '\x01') {
LAB_0010e4b8:
          var_23 = (type_21 *)(var_39 + 0xd78);
        }
        else if (var_53 == '\x02') {
          var_23 = (type_21 *)(var_39 + 0xd78);
          (*(type_14 *)var_23)(var_38,var_76);
          (*(type_14 *)(var_5 + 0x592c))(var_57);
        }
        else {
          if (var_12 == (type_21 *)0x0) {
            (*(type_14 *)(var_39 + 0x10fc))(var_38,0xb,0,var_76,0);
            goto LAB_0010e4b8;
          }
          var_23 = (type_21 *)(var_39 + 0xd78);
          (*(type_14 *)var_23)(var_38,var_76);
          (*(type_14 *)(var_39 + 0x10fc))(var_38,5,var_55,var_9,0);
        }
        (*(type_14 *)var_23)(var_38,pWVar8);
        if ((((pParse->nested == '\0') && (pParse->pTriggerTab == (type_21 *)0x0)) &&
            (var_50 == (type_5 *)0x0)) && (pParse->pAinc != (type_29 *)0x0)) {
          (*(type_14 *)(var_5 + 0x4d0c))(pParse);
        }
        var_81 = (type_9 *)&SUB_00000002;
        if (var_75 != 0) {
          (*(type_14 *)(var_39 + 0x10fc))(var_38,0x51,var_75,1,0);
          (*(type_14 *)(var_3 + -0x7898))(var_38,1);
          if (var_38->db->mallocFailed == '\0') {
            (*(type_14 *)(var_39 + -0x2a8))
                      (var_38,0,0,var_22 + -0x2d20,0);
          }
        }
      }
      else {
        var_38 = (type_1 *)pParse->pVdbe;
        for (var_10 = (type_21 *)var_2->pVTable;
            (var_10 != (type_21 *)0x0 && (pParse->db != (type_19 *)var_10->zName));
            var_10 = (type_21 *)var_10->pCheck) {
        }
        var_50 = (type_5 *)pParse->nTab;
        var_48 = (type_14 *)(var_2->nCol + 2);
        var_34 = (type_14 *)pTabList->a[0].iCursor;
        pcVar36 = (type_14 *)(var_39 + 0x10fc);
        pParse->nTab = (int)((int)&var_50->pUpsertTarget + 1);
        pPStack_e0 = (type_1 *)(*pcVar36)(var_38,0x71,var_50,var_48,0);
        var_81 = (type_9 *)pParse->nMem;
        var_19 = var_48 + (int)var_81;
        var_31 = (type_14 *)((int)&var_81->pParse + 1);
        var_41 = (type_23 *)(var_19 + 2);
        pParse->nMem = (int)var_41;
        var_76 = var_56(pParse,pTabList,pWhere,(type_3 *)0x0,(type_3 *)0x0,4,0);
        pWStack_c8 = (type_9 *)0x0;
        if (var_76 != (type_9 *)0x0) {
          if (0 < var_2->nCol) {
            pWStack_c8 = (type_9 *)((int)&var_81->pParse + 3);
            var_33 = (type_14 *)(var_61 + -0x7cdc);
            var_8 = 0;
            var_77 = var_16;
            do {
              if (*(int *)var_77 < 0) {
                (*pcVar36)(var_38,0xa4,var_34,var_8,
                           (int)pWStack_c8->aiCurOnePass + var_8 + -0x18);
                if (0 < (int)var_38->aTableLock) {
                  ((type_17 *)var_38->nTableLock)[(int)((int)&var_38->aTableLock[-1].zLockName + 3)].
                  p5 = 1;
                }
              }
              else {
                (*var_33)(pParse,var_44->a[*(int *)var_77].pExpr);
              }
              var_8 = var_8 + 1;
              var_77 = var_77 + 4;
              var_42 = psVar32;
              var_4 = (type_24 *)pWhere;
            } while (var_8 < var_2->nCol);
          }
          if ((var_2->tabFlags & 0x20) == 0) {
            (*pcVar36)(var_38,0x80,var_34,var_31,0);
            if (var_78 == (type_4 *)0x0) {
              (*pcVar36)(var_38,0x80,var_34,(type_16 *)((int)&var_81->pParse + 2),0);
            }
            else {
              (*(type_14 *)(var_61 + -0x7cdc))(pParse,var_78);
            }
          }
          else {
            var_79 = var_2->pIndex;
            if (var_79 == (type_15 *)0x0) {
LAB_0010f910:
                    /* WARNING: Does not return */
              var_19 = (type_14 *)var_80(0);
              (*var_19)();
            }
            var_11 = var_79->field_0x37;
            while ((var_11 & 0xc0) != 0x80) {
              var_79 = var_79->pNext;
              if (var_79 == (type_15 *)0x0) goto LAB_0010f910;
              var_11 = var_79->field_0x37;
            }
            pWStack_c8 = (type_9 *)(int)*var_79->aiColumn;
            (*pcVar36)(var_38,0xa4,var_34,pWStack_c8,var_31);
            (*pcVar36)(var_38,0x4f,(type_16 *)((int)&var_81->pParse + 3) + (int)pWStack_c8,
                       (type_16 *)((int)&var_81->pParse + 2),0);
          }
          aiCurOnePass[0] = var_76->aiCurOnePass[0];
          aiCurOnePass[1] = var_76->aiCurOnePass[1];
          var_81 = (type_9 *)(type_20)var_76->eOnePass;
          if (var_81 == (type_9 *)0x0) {
            pPVar15 = pParse->pToplevel;
            if (pParse->pToplevel == (type_1 *)0x0) {
              pPVar15 = pParse;
            }
            var_34 = var_19 + 1;
            pPVar15->isMultiWrite = '\x01';
            (*pcVar36)(var_38,0x66,var_31,var_48,var_34);
            (*pcVar36)(var_38,0x79,var_50,var_41,0);
            (*pcVar36)(var_38,0x7a,var_50,var_34,var_41);
            (*(type_14 *)(var_5 + 0x592c))(var_76);
            pPStack_e0 = (type_1 *)(*pcVar36)(var_38,0x24,var_50,0,0);
            var_19 = (type_14 *)0x0;
            if (0 < (int)var_48) {
              do {
                var_34 = var_19 + 1;
                (*pcVar36)(var_38,0x5a,var_50,var_19,var_31 + (int)var_19);
                var_19 = var_34;
              } while (var_48 != var_34);
            }
          }
          else {
            (*(type_14 *)(var_3 + -0x2478))(var_38->db,&var_38->nTableLock,pPStack_e0);
            (*pcVar36)(var_38,0x75,var_34,0,0);
          }
          pPVar15 = pPStack_e0;
          (*(type_14 *)(var_82 + -0x3f00))(pParse,var_2);
          uVar26 = (*pcVar36)(var_38,10,0,var_48,var_31);
          (*(type_14 *)(var_3 + 0x7a3c))(var_38,uVar26,var_10,0xfffffff4);
          if (var_32 == 0xb) {
            var_32 = 2;
          }
          if (0 < (int)var_38->aTableLock) {
            ((type_17 *)var_38->nTableLock)[(int)((int)&var_38->aTableLock[-1].zLockName + 3)].p5 =
                 (type_12)var_32;
          }
          if (pParse->pToplevel != (type_1 *)0x0) {
            pParse = pParse->pToplevel;
          }
          pParse->mayAbort = '\x01';
          if (var_81 == (type_9 *)0x0) {
            (*pcVar36)(var_38,5,var_50,(type_16 *)((int)&pPStack_e0->db + 1),0);
            if ((int)pPStack_e0 < 0) {
              pPStack_e0 = (type_1 *)((int)&var_38->aTableLock[-1].zLockName + 3);
            }
            if (var_38->db->mallocFailed == '\0') {
              pOVar20 = (type_17 *)var_38->nTableLock + (int)pPStack_e0;
            }
            else {
              pOVar20 = (type_17 *)(var_60 + 0xfbc);
            }
            pOVar20->p2 = (int)var_38->aTableLock;
            (*pcVar36)(var_38,0x75,var_50,0,0);
          }
          else {
            (*(type_14 *)(var_5 + 0x592c))(var_76);
            pPVar15 = pParse;
          }
        }
      }
    }
LAB_0010d60c:
    var_59 = sContext.pParse;
    if (sContext.pParse != (type_1 *)0x0) {
      sContext.pParse = (type_1 *)0x0;
      var_59->zAuthContext = sContext.zAuthContext;
    }
    (*(type_14 *)(var_15 + -0x2368))(psVar32,var_16);
    (*(type_14 *)(var_43 + -0x210c))(psVar32,pTabList);
    pParse = pPVar15;
    var_2 = var_23;
    var_12 = var_10;
    var_58 = var_81;
LAB_0010d64c:
    (*(type_14 *)(var_43 + -0x4644))(psVar32,var_44);
  } while( true );
}


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

/* WARNING: Type propagation algorithm not settling */

void MASKED(int *******param_1,int param_2,int *param_3,int param_4,uint param_5,int param_6,
                 int param_7,int ******param_8)

{
  byte *pbVar1;
  code cVar2;
  char cVar3;
  byte bVar4;
  undefined *puVar5;
  undefined *puVar6;
  int iVar7;
  int iVar8;
  int ******ppppppiVar9;
  int iVar10;
  uint uVar11;
  undefined4 uVar12;
  code *pcVar13;
  int *******pppppppiVar14;
  byte *pbVar15;
  int *******pppppppiVar16;
  byte *pbVar17;
  undefined4 *puVar18;
  short *psVar19;
  code *pcVar20;
  undefined4 uVar21;
  int ******ppppppiVar22;
  uint uVar23;
  byte *pbVar24;
  int *******unaff_s0;
  uint uVar25;
  code *unaff_s1;
  int ******ppppppiVar26;
  uint *puVar27;
  code *pcVar28;
  code *unaff_s5;
  code *pcVar29;
  int *******unaff_s7;
  int ******unaff_s8;
  int ******ppppppiVar30;
  int local_f8;
  int local_f4;
  code *local_f0;
  code *local_ec;
  int ******local_e8;
  int ******local_e4;
  int *******local_e0;
  int ******local_dc;
  code *local_d8;
  int ******local_d4;
  int ******local_d0;
  int ******local_cc;
  int ******local_c8;
  code *local_c4;
  int ******local_c0;
  int local_bc;
  code *local_b8;
  int *****local_b4;
  int local_ac;
  code *local_a8;
  code *local_a4;
  int ******local_a0;
  int ******local_9c;
  code *local_98;
  int local_94;
  int *******local_90;
  code *local_8c;
  int local_88;
  uint local_64;
  int local_60;
  int ******local_5c;
  int *******local_58;
  int *******local_54;
  int local_50;
  int ******local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  int ******local_34;
  int ******local_30;
  int local_2c;
  
  puVar6 = PTR___stack_chk_guard_00190e24;
  local_f8 = param_6;
  ppppppiVar26 = *param_1;
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  local_f4 = param_7;
  local_60 = 0;
  local_5c = (int ******)0x0;
  local_58 = (int *******)0x0;
  local_e8 = param_8;
  if ((param_1[9] != (int ******)0x0) || (*(char *)((int)ppppppiVar26 + 0x51) != '\0'))
  goto LAB_0010d4a8;
  unaff_s1 = (code *)FUN_00109b30();
  if (unaff_s1 != (code *)0x0) {
    if (*(int *)(unaff_s1 + 0x48) == 0) {
      local_b4 = (int *****)0xfff0bdc0;
    }
    else {
      local_b4 = (int *****)(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(*param_1);
    }
    local_d0 = (int ******)
               (*(code *)(PTR_LAB_00190ba4 + -0x2620))(param_1,unaff_s1,0x76,param_3,&local_64);
    local_bc = *(int *)(unaff_s1 + 0xc);
    if (local_bc == 0) {
      param_4 = (*(code *)(PTR_LAB_00190bc4 + -14000))
                          (param_1,param_2,param_4,param_6,param_7,PTR_LAB_00190958 + 0x6b68);
      local_f4 = 0;
      local_f8 = 0;
    }
    iVar8 = FUN_000f89f8(param_1,unaff_s1);
    if ((iVar8 == 0) &&
       (local_ac = (*(code *)(PTR_LAB_00190bc4 + -0x73d8))(param_1,unaff_s1,local_64), local_ac == 0
       )) {
      local_d4 = param_1[10];
      local_c8 = (int ******)((int)local_d4 + 1);
      param_1[10] = local_c8;
      pcVar13 = *(code **)(unaff_s1 + 8);
      unaff_s8 = local_d4;
      if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
        unaff_s5 = (code *)0x0;
        if (pcVar13 != (code *)0x0) goto LAB_0010d700;
        local_90 = (int *******)0x0;
      }
      else if (pcVar13 == (code *)0x0) {
        unaff_s5 = (code *)0x0;
        local_90 = (int *******)0x0;
      }
      else {
        cVar2 = pcVar13[0x37];
        unaff_s5 = pcVar13;
        while ((((byte)cVar2 & 0xc0) != 0x80 &&
               (unaff_s5 = *(code **)(unaff_s5 + 0x14), unaff_s5 != (code *)0x0))) {
          cVar2 = unaff_s5[0x37];
        }
LAB_0010d700:
        ppppppiVar30 = local_c8;
        do {
          if (unaff_s5 == pcVar13) {
            unaff_s8 = ppppppiVar30;
          }
          ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);
          param_1[10] = ppppppiVar30;
          pcVar13 = *(code **)(pcVar13 + 0x14);
          local_90 = (int *******)(~(uint)local_d4 + (int)ppppppiVar30);
        } while (pcVar13 != (code *)0x0);
      }
      if (param_8 != (int ******)0x0) {
        unaff_s8 = (int ******)param_8[7];
        local_c8 = (int ******)param_8[8];
        param_1[10] = local_d4;
      }
      *(int *******)(param_2 + 0x30) = unaff_s8;
      local_a8 = (code *)(uint)*(byte *)((int)ppppppiVar26 + 0x51);
      unaff_s7 = local_90;
      if ((local_a8 == (code *)0x0) &&
         (local_ec = (code *)(*(code *)(PTR_LAB_00190ba8 + 0x854))(ppppppiVar26),
         local_ec != (code *)0x0)) {
        local_a4 = local_ec + *(short *)(unaff_s1 + 0x2a) * 4;
        local_98 = local_a4 + (int)local_90 * 4;
        (*(code *)PTR_memset_00190d58)(local_98,1);
        (local_98 + (int)local_90)[1] = (code)0x0;
        if (0 < *(short *)(unaff_s1 + 0x2a)) {
          iVar8 = 0;
          pcVar13 = local_ec;
          do {
            *(undefined4 *)pcVar13 = 0xffffffff;
            iVar8 = iVar8 + 1;
            pcVar13 = pcVar13 + 4;
          } while (iVar8 < *(short *)(unaff_s1 + 0x2a));
        }
        local_48 = 0;
        local_44 = 0;
        local_4c = param_8;
        local_40 = 0;
        local_38 = 0;
        local_3c = 0x2000000;
        local_54 = param_1;
        local_50 = param_2;
        if (*param_3 < 1) {
          local_d8 = (code *)0x0;
          local_b8 = (code *)0x0;
        }
        else {
          puVar27 = (uint *)(param_3 + 1);
          pppppppiVar14 = (int *******)&local_54;
          unaff_s7 = (int *******)(PTR_DAT_00190b94 + -0x3c18);
          ppppppiVar30 = (int ******)0x0;
          local_d8 = (code *)0x0;
          local_e4 = (int ******)(PTR_LAB_00190bdc + 0x6280);
          local_b8 = (code *)0x0;
          local_c4 = (code *)(PTR_LAB_00190ba4 + -0x4b2c);
          local_c0 = (int ******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x651c);
          pcVar13 = (code *)(PTR_LAB_00190bdc + 0x5b90);
          do {
            pcVar20 = (code *)(*(code *)local_e4)(pppppppiVar14,*puVar27);
            pcVar29 = unaff_s1;
            if (pcVar20 != (code *)0x0) goto LAB_0010d60c;
            pbVar24 = (byte *)puVar27[1];
            if (0 < *(short *)(unaff_s1 + 0x2a)) {
              puVar18 = *(undefined4 **)(unaff_s1 + 4);
              do {
                pbVar15 = (byte *)*puVar18;
                uVar23 = (uint)*pbVar15;
                pbVar17 = pbVar24;
                if (*(char *)((int)unaff_s7 + uVar23) == *(char *)((int)unaff_s7 + (uint)*pbVar24))
                {
                  do {
                    if (uVar23 == 0) {
                      if (pcVar20 == (code *)(int)*(short *)(unaff_s1 + 0x28)) {
                        local_b8 = (code *)*puVar27;
                        local_d8 = (code *)0x1;
                      }
                      else if ((unaff_s5 != (code *)0x0) &&
                              ((*(byte *)((int)puVar18 + 0xf) & 1) != 0)) {
                        local_a8 = (code *)(*(byte *)((int)puVar18 + 0xf) & 1);
                      }
                      *(int *******)(local_ec + (int)pcVar20 * 4) = ppppppiVar30;
                      if ((int)*(short *)(unaff_s1 + 0x2a) <= (int)pcVar20) {
                        pbVar24 = (byte *)puVar27[1];
                        goto LAB_0010d954;
                      }
                      iVar8 = *(int *)unaff_s1;
                      ppppppiVar9 = *(int *******)(*(int *)(unaff_s1 + 4) + (int)pcVar20 * 0x10);
                      goto LAB_0010d98c;
                    }
                    pbVar15 = pbVar15 + 1;
                    pbVar1 = pbVar17 + 1;
                    uVar23 = (uint)*pbVar15;
                    pbVar17 = pbVar17 + 1;
                  } while (*(char *)((int)unaff_s7 + uVar23) ==
                           *(char *)((int)unaff_s7 + (uint)*pbVar1));
                }
                pcVar20 = pcVar20 + 1;
                puVar18 = puVar18 + 4;
              } while ((code *)(int)*(short *)(unaff_s1 + 0x2a) != pcVar20);
            }
LAB_0010d954:
            if ((unaff_s5 != (code *)0x0) || (iVar8 = (*local_c4)(pbVar24), iVar8 == 0)) {
              (*(code *)(PTR_LAB_00190bdc + 0x5160))
                        (param_1,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4c3c,pbVar24);
              *(undefined1 *)((int)param_1 + 0x11) = 1;
              pppppppiVar14 = param_1;
              goto LAB_0010d60c;
            }
            local_b8 = (code *)*puVar27;
            pcVar20 = (code *)0xffffffff;
            iVar8 = *(int *)unaff_s1;
            local_d8 = (code *)0x1;
            ppppppiVar9 = local_c0;
LAB_0010d98c:
            iVar8 = (*pcVar13)(param_1,0x17,iVar8,ppppppiVar9,ppppppiVar26[4][(int)local_b4 * 4]);
            if (iVar8 == 1) goto LAB_0010d60c;
            if (iVar8 == 2) {
              *(undefined4 *)(local_ec + (int)pcVar20 * 4) = 0xffffffff;
            }
            ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);
            puVar27 = puVar27 + 5;
          } while ((int)ppppppiVar30 < *param_3);
        }
        iVar8 = *(int *)(unaff_s1 + 0x38);
        local_c4 = (code *)((uint)(local_d8 + (int)local_a8) & 0xff);
        pcVar13 = (code *)(PTR_LAB_00190ba4 + -0x3768);
        *(uint *)(param_2 + 0x40) = -(uint)(iVar8 != 0);
        *(uint *)(param_2 + 0x44) = -(uint)(iVar8 != 0);
        local_c0 = (int ******)(*pcVar13)(*param_1,unaff_s1,local_ec);
        if (param_5 == 5) {
          pcVar13 = *(code **)(unaff_s1 + 8);
          local_60 = 1;
          if (pcVar13 != (code *)0x0) goto LAB_0010da68;
        }
        else {
          pcVar13 = *(code **)(unaff_s1 + 8);
          if (pcVar13 != (code *)0x0) {
LAB_0010da68:
            local_e4 = (int ******)(uint)((int)local_c0 < 2);
            iVar8 = 0;
            pcVar20 = (code *)(PTR_LAB_00190ba4 + -0x56dc);
            pcVar29 = local_a4;
            do {
              if ((((local_c4 == (code *)0x0) && (local_e4 != (int ******)0x0)) &&
                  (pcVar13 != unaff_s5)) &&
                 ((*(int *)(pcVar13 + 0x24) == 0 ||
                  (iVar10 = (*pcVar20)(*(int *)(pcVar13 + 0x24),local_ec,local_d8), iVar10 == 0))))
              {
                iVar10 = 0;
                if (*(short *)(pcVar13 + 0x32) != 0) {
                  do {
                    iVar7 = (int)*(short *)(*(int *)(pcVar13 + 4) + iVar10 * 2);
                    if (iVar7 < 0) {
                      uVar23 = (*pcVar20)(*(undefined4 *)
                                           (*(int *)(pcVar13 + 0x28) + iVar10 * 0x14 + 4),local_ec,
                                          local_d8);
                    }
                    else {
                      uVar23 = ~*(uint *)(local_ec + iVar7 * 4) >> 0x1f;
                    }
                    iVar10 = iVar10 + 1;
                    if (uVar23 != 0) {
                      ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);
                      param_1[0xb] = ppppppiVar30;
                      param_1[0xb] = (int ******)
                                     ((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);
                      if ((param_5 == 0xb) && (pcVar13[0x36] == (code)0x5)) {
                        local_60 = 1;
                      }
                      goto LAB_0010dabc;
                    }
                  } while (iVar10 < (int)(uint)*(ushort *)(pcVar13 + 0x32));
                }
LAB_0010dac8:
                ppppppiVar30 = (int ******)0x0;
                local_98[iVar8 + 1] = (code)0x0;
              }
              else {
                ppppppiVar30 = (int ******)((int)param_1[0xb] + 1);
                param_1[0xb] = ppppppiVar30;
                param_1[0xb] = (int ******)((uint)*(ushort *)(pcVar13 + 0x34) + (int)ppppppiVar30);
LAB_0010dabc:
                if (ppppppiVar30 == (int ******)0x0) goto LAB_0010dac8;
              }
              *(int *******)pcVar29 = ppppppiVar30;
              iVar8 = iVar8 + 1;
              pcVar13 = *(code **)(pcVar13 + 0x14);
              pcVar29 = pcVar29 + 4;
            } while (pcVar13 != (code *)0x0);
          }
          if (local_60 == 0) goto LAB_0010dcb0;
        }
        (*(code *)PTR_memset_00190d58)(local_98,1,(int)local_90 + 1);
LAB_0010dcb0:
        unaff_s7 = (int *******)param_1[2];
        if ((unaff_s7 == (int *******)0x0) &&
           (unaff_s7 = (int *******)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1),
           pppppppiVar14 = param_1, pcVar20 = unaff_s1, pcVar29 = unaff_s5, ppppppiVar30 = unaff_s8,
           unaff_s7 == (int *******)0x0)) goto LAB_0010d60c;
        if (*(char *)((int)param_1 + 0x12) == '\0') {
          *(byte *)((int)unaff_s7 + 0x95) = *(byte *)((int)unaff_s7 + 0x95) & 0xfb | 4;
        }
        (*(code *)(PTR_LAB_00190bbc + 0x6508))
                  (param_1,local_d0 != (int ******)0x0 || local_c0 != (int ******)0x0,local_b4);
        if (*(int *)(unaff_s1 + 0x38) != 0) {
          local_94 = 0;
          local_8c = (code *)0x0;
          local_cc = (int ******)0x0;
          local_e4 = (int ******)0x0;
          goto LAB_0010dd68;
        }
        ppppppiVar30 = param_1[0xb];
        local_e4 = (int ******)((int)ppppppiVar30 + 2);
        local_ac = (int)ppppppiVar30 + 1;
        param_1[0xb] = local_e4;
        if (local_a8 == (code *)0x0) {
          if (local_d0 != (int ******)0x0) {
            local_94 = (int)ppppppiVar30 + 3;
            ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));
            goto LAB_0010dd48;
          }
          pcVar13 = local_d8;
          if (local_c0 == (int ******)0x0) goto LAB_0010ef6c;
          local_94 = (int)ppppppiVar30 + 3;
          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));
          param_1[0xb] = ppppppiVar9;
          if (local_d8 != (code *)0x0) goto LAB_0010dd48;
        }
        else {
          local_94 = (int)ppppppiVar30 + 3;
          ppppppiVar9 = (int ******)((int)local_e4 + (int)*(short *)(unaff_s1 + 0x2a));
          param_1[0xb] = ppppppiVar9;
          if (local_c4 != (code *)0x0) goto LAB_0010dd48;
          if (local_d0 != (int ******)0x0) goto LAB_0010dd48;
          local_cc = local_e4;
          if (local_c0 == (int ******)0x0) goto LAB_0010dd54;
        }
        local_94 = (int)ppppppiVar30 + 3;
        ppppppiVar9 = param_1[0xb];
        goto LAB_0010dd48;
      }
    }
  }
  unaff_s0 = param_1;
  if (local_58 != (int *******)0x0) {
    local_58[0x3b] = local_5c;
    local_58 = (int *******)0x0;
  }
LAB_0010d4a8:
  (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);
  param_1 = unaff_s0;
  if (param_3 != (int *)0x0) goto LAB_0010d64c;
  do {
    if (param_4 != 0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,param_4);
    }
    if (local_f8 != 0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,local_f8);
    }
    if (local_f4 != 0) {
      (*(code *)(PTR_LAB_00190bb8 + -0x47b0))(ppppppiVar26,local_f4);
    }
    if (local_2c == *(int *)puVar6) {
      return;
    }
    pcVar13 = (code *)(*(code *)PTR___stack_chk_fail_00190df8)();
LAB_0010ef6c:
    ppppppiVar9 = local_e4;
    if (pcVar13 == (code *)0x0) {
      local_94 = 0;
      local_cc = local_e4;
    }
    else {
      local_94 = 0;
LAB_0010dd48:
      ppppppiVar9 = (int ******)((int)ppppppiVar9 + 1);
      param_1[0xb] = ppppppiVar9;
      local_cc = ppppppiVar9;
    }
LAB_0010dd54:
    local_8c = (code *)((int)ppppppiVar9 + 1);
    param_1[0xb] = (int ******)((int)ppppppiVar9 + (int)*(short *)(unaff_s1 + 0x2a));
LAB_0010dd68:
    if (local_bc != 0) {
      local_5c = param_1[0x3b];
      param_1[0x3b] = *(int *******)unaff_s1;
      local_58 = param_1;
      FUN_000f8680(param_1,unaff_s1,*(int *)(unaff_s1 + 0x48),param_4,local_f8,local_f4,unaff_s8);
      local_f4 = 0;
      local_f8 = 0;
    }
    iVar8 = (*(code *)(PTR_LAB_00190bdc + 0x6280))(&local_54,param_4);
    puVar5 = PTR_LAB_00190bc0;
    pppppppiVar14 = param_1;
    pcVar20 = unaff_s1;
    pcVar29 = unaff_s5;
    ppppppiVar30 = unaff_s8;
    if (iVar8 == 0) {
      if (*(int *)(unaff_s1 + 0x38) == 0) {
        ppppppiVar9 = (int ******)((int)param_1[0xe] - 1);
        param_1[0xe] = ppppppiVar9;
        if (((((uint)ppppppiVar26[9] & 0x80) == 0) || (param_1[0x1e] != (int ******)0x0)) ||
           (*(char *)((int)param_1 + 0x12) != '\0')) {
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);
            if (local_e8 == (int ******)0x0) {
              local_9c = (int ******)0x0;
              goto LAB_0010efcc;
            }
            local_dc = (int ******)0x0;
            ppppppiVar22 = (int ******)0x0;
            local_b4 = (int *****)0x0;
          }
          else {
            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);
            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);
            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);
            param_1[0xb] = local_dc;
            if (local_e8 == (int ******)0x0) {
              local_9c = (int ******)0x0;
              goto LAB_0010e728;
            }
          }
LAB_0010de50:
          (*(code *)(PTR_LAB_00190bd0 + 0x6550))(param_1,param_4,ppppppiVar9,0x10);
          iVar8 = 0;
          local_9c = (int ******)0x0;
          local_a0 = (int ******)0x0;
          cVar3 = '\x01';
          local_88 = 0;
LAB_0010de98:
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x80,unaff_s8,local_e4,0);
            local_b4 = (int *****)0x0;
LAB_0010df40:
            if (local_e8 == (int ******)0x0) {
              if (cVar3 != '\x02') {
                (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);
                if (local_bc != 0) {
                  local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                  goto LAB_0010e700;
                }
                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                goto LAB_0010ea7c;
              }
              if (local_bc == 0) {
                local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                goto LAB_0010e5d8;
              }
              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
              ppppppiVar30 = param_1[0xe];
LAB_0010e570:
              param_1[0xe] = (int ******)((int)ppppppiVar30 - 1U);
              local_d4 = (int ******)((int)ppppppiVar30 - 1U);
              goto LAB_0010e580;
            }
            local_ac = 0;
            local_d4 = ppppppiVar9;
          }
          else {
            if ((int)local_b4 < 1) {
LAB_0010df38:
              local_dc = ppppppiVar22;
              if (iVar8 != 0) {
                (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,iVar8);
              }
              goto LAB_0010df40;
            }
LAB_0010deb0:
            iVar10 = 0;
            pcVar13 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
            ppppppiVar30 = ppppppiVar22;
            do {
              psVar19 = (short *)(*(int *)(unaff_s5 + 4) + iVar10);
              iVar10 = iVar10 + 2;
              (*pcVar13)(unaff_s7,unaff_s1,unaff_s8,(int)*psVar19,ppppppiVar30);
              ppppppiVar30 = (int ******)((int)ppppppiVar30 + 1);
            } while ((int)local_b4 << 1 != iVar10);
LAB_0010df30:
            if (cVar3 != '\0') goto LAB_0010df38;
            local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
LAB_0010ee9c:
            uVar21 = (*(code *)(PTR_LAB_00190ba8 + 0x1c4c))(ppppppiVar26,unaff_s5);
            uVar12 = (*local_f0)(unaff_s7,0x66,ppppppiVar22,local_b4,local_dc);
            (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar12,uVar21,local_b4);
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                      (unaff_s7,0x84,local_a0,local_dc,ppppppiVar22,local_b4);
            cVar3 = '\0';
            if (local_e8 == (int ******)0x0) goto LAB_0010e8dc;
            local_b4 = (int *****)0x0;
            local_ac = 0;
            local_d4 = ppppppiVar9;
          }
        }
        else {
          if (local_e8 != (int ******)0x0) {
            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
              (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x49,0,local_ac,local_e4);
              ppppppiVar22 = (int ******)0x0;
              local_b4 = (int *****)0x0;
              local_dc = (int ******)0x0;
            }
            else {
              local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);
              ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);
              local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);
              param_1[0xb] = local_dc;
            }
            goto LAB_0010de50;
          }
          local_9c = (int ******)((int)param_1[0xb] + 1);
          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
          param_1[0xb] = local_9c;
          (*pcVar13)(unaff_s7,0x46,0,local_9c,0);
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
            (*pcVar13)(unaff_s7,0x49,0,local_ac,local_e4);
LAB_0010efcc:
            local_dc = (int ******)0x0;
            ppppppiVar22 = (int ******)0x0;
            iVar8 = 0;
            local_a0 = (int ******)0x0;
            local_b4 = (int *****)0x0;
          }
          else {
            local_b4 = (int *****)(int)*(short *)(unaff_s5 + 0x32);
            ppppppiVar22 = (int ******)((int)param_1[0xb] + 1);
            local_dc = (int ******)((int)param_1[0xb] + (int)local_b4 + 1);
            param_1[0xb] = local_dc;
LAB_0010e728:
            local_f0 = (code *)(puVar5 + 0x10fc);
            local_a0 = param_1[10];
            param_1[10] = (int ******)((int)local_a0 + 1);
            (*local_f0)(unaff_s7,0x49,0,ppppppiVar22,
                        (code *)((int)ppppppiVar22 + (int)local_b4 + -1));
            iVar8 = (*local_f0)(unaff_s7,0x71,local_a0,local_b4,0);
            (*(code *)(PTR_LAB_00190bc4 + -0x62dc))(param_1,unaff_s5);
          }
          local_f0 = (code *)(puVar5 + 0x10fc);
          uVar21 = 0x1004;
          if (((local_c4 == (code *)0x0 && *(char *)((int)param_1 + 0x12) == '\0') &&
              (uVar21 = 0x1004, local_d0 == (int ******)0x0)) &&
             (uVar21 = 0x1004, local_c0 == (int ******)0x0 && local_60 == 0)) {
            uVar21 = 0x100c;
          }
          local_88 = FUN_000f3790(param_1,param_2,param_4,0,0,uVar21,local_c8);
          if (local_88 == 0) goto LAB_0010d60c;
          local_34 = *(int *******)(local_88 + 0x18);
          local_30 = *(int *******)(local_88 + 0x1c);
          cVar3 = *(char *)(local_88 + 0x31);
          if (cVar3 == '\x01') goto LAB_0010de98;
          pppppppiVar16 = (int *******)param_1[0x1d];
          if ((int *******)param_1[0x1d] == (int *******)0x0) {
            pppppppiVar16 = param_1;
          }
          *(undefined1 *)(pppppppiVar16 + 5) = 1;
          if (cVar3 == '\x02') {
            if ((((int)local_30 < 0) || (unaff_s8 == local_30)) ||
               (local_98[(int)local_30 - (int)local_d4] == (code)0x0)) goto LAB_0010de98;
            if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
              (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);
              goto LAB_0010e8bc;
            }
            cVar3 = '\0';
            if (0 < (int)local_b4) goto LAB_0010deb0;
            goto LAB_0010ee9c;
          }
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) != 0) {
            if (0 < (int)local_b4) goto LAB_0010deb0;
            goto LAB_0010df30;
          }
          (*local_f0)(unaff_s7,0x80,unaff_s8,local_e4,0);
          if (cVar3 == '\0') {
LAB_0010e8bc:
            (*local_f0)(unaff_s7,0x94,local_ac,local_e4,0);
            cVar3 = '\0';
          }
LAB_0010e8dc:
          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);
          if (local_bc == 0) {
            local_b4 = (int *****)0x0;
LAB_0010ea7c:
            if (cVar3 == '\0') {
LAB_0010e634:
              pppppppiVar16 = *(int ********)(unaff_s1 + 0x38);
              if (pppppppiVar16 == (int *******)0x0) {
LAB_0010e640:
                (*(code *)(PTR_LAB_00190bc4 + 0x64e0))
                          (param_1,unaff_s1,0x6e,0,local_d4,local_98,0,0);
                local_90 = pppppppiVar16;
                goto LAB_0010e680;
              }
            }
            else {
LAB_0010e5d8:
              if (-1 < (int)local_34) {
                local_98[(int)local_34 - (int)local_d4] = (code)0x0;
              }
              if (-1 < (int)local_30) {
                local_98[(int)local_30 - (int)local_d4] = (code)0x0;
              }
              if ((cVar3 != '\x02') || ((int)local_90 + ((int)~(uint)local_30 >> 0x1f) < 1))
              goto LAB_0010e634;
              pppppppiVar16 = (int *******)(*local_f0)(unaff_s7,0x11,0,0,0);
              if (*(int *)(unaff_s1 + 0x38) == 0) goto LAB_0010e640;
LAB_0010e680:
              if (pppppppiVar16 != (int *******)0x0) {
                ppppppiVar30 = unaff_s7[0x1b];
                if ((int)pppppppiVar16 < 0) {
                  pppppppiVar16 = (int *******)((int)ppppppiVar30 + -1);
                }
                if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
                  unaff_s7[0x1a][(int)pppppppiVar16 * 6 + 2] = (int *****)ppppppiVar30;
                }
                else {
                  *(int *******)(PTR_DAT_00190948 + 0xfc4) = ppppppiVar30;
                }
              }
            }
            if (cVar3 != '\0') {
              if ((local_34 != unaff_s8) && (local_30 != unaff_s8)) {
                (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                          (unaff_s7,0x1c,unaff_s8,ppppppiVar9,local_dc,local_b4);
              }
              goto LAB_0010e700;
            }
          }
          else {
            local_b4 = (int *****)0x0;
            if (cVar3 != '\0') {
LAB_0010e700:
              local_d4 = ppppppiVar9;
              if (cVar3 != '\x01') {
                ppppppiVar30 = param_1[0xe];
                goto LAB_0010e570;
              }
LAB_0010e580:
              ppppppiVar30 = local_e4;
              if (unaff_s5 != (code *)0x0) {
                ppppppiVar30 = local_dc;
              }
              (*local_f0)(unaff_s7,0x32,ppppppiVar30,ppppppiVar9,0);
              local_ac = 0;
              goto LAB_0010df54;
            }
          }
          if (unaff_s5 == (code *)0x0) {
            local_d4 = (int ******)(*local_f0)(unaff_s7,0x29,local_ac,ppppppiVar9,local_e4);
            (*local_f0)(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);
            cVar3 = '\0';
            local_ac = 0;
          }
          else {
            local_d4 = (int ******)((int)param_1[0xe] - 1);
            param_1[0xe] = local_d4;
            (*local_f0)(unaff_s7,0x24,local_a0,ppppppiVar9,0);
            local_ac = (*local_f0)(unaff_s7,0x7f,local_a0,local_dc,0);
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))(unaff_s7,0x1c,unaff_s8,local_d4,local_dc,0);
            cVar3 = '\0';
          }
        }
LAB_0010df54:
        if (local_d8 != (code *)0x0) {
          (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8,local_cc);
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xf,local_cc,0,0);
        }
        if (local_a8 == (code *)0x0) {
          if (local_c0 != (int ******)0x0) {
LAB_0010e4cc:
            if (((uint)(*param_1)[9] & 0x4000) == 0) goto LAB_0010df7c;
            uVar23 = (*(code *)(PTR_LAB_00190bc4 + -0x6eb0))(param_1,unaff_s1);
            goto LAB_0010df80;
          }
          if (local_d0 != (int ******)0x0) {
LAB_0010df7c:
            uVar23 = 0;
            goto LAB_0010df80;
          }
          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);
        }
        else {
          uVar23 = 0;
          if (local_c0 != (int ******)0x0) goto LAB_0010e4cc;
LAB_0010df80:
          local_f0 = (code *)(PTR_LAB_00190bc8 + -0x3b58);
          uVar11 = FUN_0010c4a8(param_1,local_d0,param_3,0,3,unaff_s1,param_5);
          if (0 < *(short *)(unaff_s1 + 0x2a)) {
            uVar25 = 0;
            local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
            local_98 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            do {
              if (((uVar23 | uVar11) == 0xffffffff) ||
                 ((((int)uVar25 < 0x20 && ((1 << (uVar25 & 0x1f) & (uVar23 | uVar11)) != 0)) ||
                  ((*(byte *)(*(int *)(unaff_s1 + 4) + uVar25 * 0x10 + 0xf) & 1) != 0)))) {
                (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar25,local_94 + uVar25);
              }
              else {
                (*local_98)(unaff_s7,0x49,0,local_94 + uVar25,0);
              }
              uVar25 = uVar25 + 1;
              local_90 = param_1;
            } while ((int)uVar25 < (int)*(short *)(unaff_s1 + 0x2a));
          }
          if ((local_d8 == (code *)0x0) && (unaff_s5 == (code *)0x0)) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x4e,local_e4,local_cc,0);
          }
        }
        local_b8 = (code *)(*local_f0)(param_1,local_d0,param_3,1,1,unaff_s1,param_5);
        puVar5 = PTR_LAB_00190c58;
        if (0 < *(short *)(unaff_s1 + 0x2a)) {
          uVar23 = 0;
          local_f0 = local_ec;
          local_98 = (code *)PTR_LAB_00190c58;
          local_a8 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
          pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
          do {
            pcVar20 = local_8c + uVar23;
            if ((int)*(short *)(unaff_s1 + 0x28) == uVar23) {
LAB_0010e30c:
              (*pcVar13)(unaff_s7,0x49,0,pcVar20,0);
            }
            else if (*(int *)local_f0 < 0) {
              if ((((local_64 & 1) != 0) && ((int)uVar23 < 0x20)) &&
                 (((uint)local_b8 >> (uVar23 & 0x1f) & 1) == 0)) goto LAB_0010e30c;
              (*local_a8)(unaff_s7,unaff_s1,unaff_s8,uVar23,pcVar20);
            }
            else {
              (*(code *)(puVar5 + -0x7cdc))(param_1,param_3[*(int *)local_f0 * 5 + 1],pcVar20);
            }
            uVar23 = uVar23 + 1;
            local_f0 = local_f0 + 4;
          } while ((int)uVar23 < (int)*(short *)(unaff_s1 + 0x2a));
        }
        if ((local_64 & 1) == 0) {
          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);
        }
        else {
          (*(code *)(PTR_LAB_00190bc0 + 0x15f0))(unaff_s7,unaff_s1,local_8c);
          local_d8 = (code *)(PTR_LAB_00190bc8 + -0x2cec);
          FUN_0010d314(param_1,local_d0,0x76,param_3,1,unaff_s1,local_e4,param_5,local_d4);
          if (unaff_s5 == (code *)0x0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,local_d4,local_e4);
          }
          else {
            (*(code *)(PTR_LAB_00190bc0 + 0x13a0))
                      (unaff_s7,0x1c,unaff_s8,local_d4,local_dc,local_b4);
          }
          iVar8 = (int)*(short *)(unaff_s1 + 0x2a);
          if (0 < iVar8) {
            pcVar20 = (code *)(PTR_LAB_00190bc4 + 0x4eb8);
            iVar10 = 0;
            pcVar13 = local_ec;
            do {
              if ((*(int *)pcVar13 < 0) && (*(short *)(unaff_s1 + 0x28) != iVar10)) {
                (*pcVar20)(unaff_s7,unaff_s1,unaff_s8,iVar10,local_8c + iVar10);
                iVar8 = (int)*(short *)(unaff_s1 + 0x2a);
                local_b8 = pcVar20;
                local_a8 = pcVar13;
              }
              iVar10 = iVar10 + 1;
              pcVar13 = pcVar13 + 4;
            } while (iVar10 < iVar8);
          }
        }
        if (local_bc == 0) {
          FUN_0010f918(param_1,unaff_s1,local_a4,unaff_s8,local_c8,local_cc,local_e4,local_c4,
                       param_5 & 0xff,local_d4,&local_60,local_ec,0);
          if (local_c0 != (int ******)0x0) {
            FUN_00109be4(param_1,unaff_s1,local_e4,0,local_ec,local_c4);
          }
          puVar5 = PTR_LAB_00190bc0;
          if ((local_60 == 0) && (local_c4 == (code *)0x0)) {
            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);
            iVar8 = 0;
            if ((int)local_c0 < 2) {
              uVar21 = 0x44;
              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            }
            else {
              uVar21 = 4;
              local_f0 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
            }
          }
          else {
            if (unaff_s5 == (code *)0x0) {
              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1f,unaff_s8,0,local_e4);
            }
            else {
              iVar8 = (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x1c,unaff_s8,0,local_dc);
              if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
                ppppppiVar30 = unaff_s7[0x1a];
                *(undefined1 *)((int)ppppppiVar30 + iVar8 * 0x18 + 1) = 0xfd;
                ppppppiVar30[iVar8 * 6 + 4] = local_b4;
              }
            }
            local_f0 = (code *)(puVar5 + 0x10fc);
            FUN_000ef78c(param_1,unaff_s1,unaff_s8,local_c8,local_a4,0xffffffff);
            uVar21 = 4;
            if (((int)local_c0 < 2) && (local_c4 == (code *)0x0)) {
              uVar21 = 0x44;
            }
          }
          (*local_f0)(unaff_s7,0x7b,unaff_s8,uVar21,local_cc);
          if ((cVar3 == '\x02') && (0 < (int)unaff_s7[0x1b])) {
            *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 2;
          }
          if (*(char *)((int)param_1 + 0x12) == '\0') {
            (*(code *)(PTR_LAB_00190ba4 + -0x24d4))(unaff_s7,unaff_s1,0xfffffffa);
          }
          if ((local_60 != 0) || (local_c4 != (code *)0x0)) {
            if (iVar8 < 0) {
              iVar8 = (int)unaff_s7[0x1b] + -1;
            }
            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
              ppppppiVar30 = unaff_s7[0x1a] + iVar8 * 6;
            }
            else {
              ppppppiVar30 = (int ******)(PTR_DAT_00190948 + 0xfbc);
            }
            ppppppiVar30[2] = (int *****)unaff_s7[0x1b];
          }
          if (local_c0 == (int ******)0x0) {
            if (cVar3 == '\x02') {
              uVar21 = 6;
            }
            else {
              uVar21 = 4;
            }
            (*(code *)(PTR_LAB_00190bc0 + 0x2940))
                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);
          }
          else {
            FUN_00109be4(param_1,unaff_s1,0,local_cc,local_ec,local_c4);
            if (cVar3 == '\x02') {
              uVar21 = 6;
            }
            else {
              uVar21 = 4;
            }
            (*(code *)(PTR_LAB_00190bc0 + 0x2940))
                      (param_1,unaff_s1,unaff_s8,local_c8,local_cc,local_a4,uVar21,0,0);
            if (((uint)(*param_1)[9] & 0x4000) != 0) {
              FUN_0010c7f8(param_1,unaff_s1,param_3,local_e4,local_ec,local_c4);
            }
          }
        }
        if (local_9c != (int ******)0x0) {
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x53,local_9c,1,0);
        }
        ppppppiVar30 = (int ******)0x2;
        (*local_d8)(param_1,local_d0,0x76,param_3,2,unaff_s1,local_e4,param_5,local_d4);
        if (cVar3 == '\x01') {
LAB_0010e4b8:
          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);
        }
        else if (cVar3 == '\x02') {
          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);
          (*pcVar20)(unaff_s7,local_d4);
          (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_88);
        }
        else {
          if (unaff_s5 == (code *)0x0) {
            (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0xb,0,local_d4,0);
            goto LAB_0010e4b8;
          }
          pcVar20 = (code *)(PTR_LAB_00190bc0 + 0xd78);
          (*pcVar20)(unaff_s7,local_d4);
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,5,local_a0,local_ac,0);
        }
        (*pcVar20)(unaff_s7,ppppppiVar9);
        if ((((*(char *)((int)param_1 + 0x12) == '\0') && (param_1[0x1e] == (int ******)0x0)) &&
            (local_e8 == (int ******)0x0)) && (param_1[0x1c] != (int ******)0x0)) {
          (*(code *)(PTR_LAB_00190bc4 + 0x4d0c))(param_1);
        }
        if (local_9c != (int ******)0x0) {
          (*(code *)(PTR_LAB_00190bc0 + 0x10fc))(unaff_s7,0x51,local_9c,1,0);
          (*(code *)(PTR_LAB_00190ba4 + -0x7898))(unaff_s7,1);
          if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
            (*(code *)(PTR_LAB_00190bc0 + -0x2a8))
                      (unaff_s7,0,0,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x2d20,0);
          }
        }
      }
      else {
        unaff_s7 = (int *******)param_1[2];
        for (pcVar29 = *(code **)(unaff_s1 + 0x40);
            (pcVar29 != (code *)0x0 && (*param_1 != *(int *******)pcVar29));
            pcVar29 = *(code **)(pcVar29 + 0x18)) {
        }
        local_e8 = param_1[10];
        ppppppiVar9 = (int ******)(*(short *)(unaff_s1 + 0x2a) + 2);
        local_e4 = *(int *******)(param_2 + 0x30);
        pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
        param_1[10] = (int ******)((int)local_e8 + 1);
        local_e0 = (int *******)(*pcVar13)(unaff_s7,0x71,local_e8,ppppppiVar9,0);
        ppppppiVar22 = param_1[0xb];
        local_d8 = (code *)((int)ppppppiVar22 + 1);
        local_d0 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 2U);
        param_1[0xb] = local_d0;
        local_d4 = (int ******)FUN_000f3790(param_1,param_2,param_4,0,0,4,0);
        local_c8 = (int ******)0x0;
        ppppppiVar30 = ppppppiVar22;
        if (local_d4 != (int ******)0x0) {
          if (0 < *(short *)(unaff_s1 + 0x2a)) {
            local_c8 = (int ******)((int)ppppppiVar22 + 3);
            local_c4 = (code *)(PTR_LAB_00190c58 + -0x7cdc);
            iVar8 = 0;
            pcVar28 = local_ec;
            do {
              if (*(int *)pcVar28 < 0) {
                (*pcVar13)(unaff_s7,0xa4,local_e4,iVar8,(int)local_c8 + iVar8);
                if (0 < (int)unaff_s7[0x1b]) {
                  *(undefined2 *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = 1;
                }
              }
              else {
                (*local_c4)(param_1,param_3[*(int *)pcVar28 * 5 + 1]);
              }
              iVar8 = iVar8 + 1;
              pcVar28 = pcVar28 + 4;
              local_c0 = ppppppiVar26;
              local_bc = param_4;
            } while (iVar8 < *(short *)(unaff_s1 + 0x2a));
          }
          if ((*(uint *)(unaff_s1 + 0x24) & 0x20) == 0) {
            (*pcVar13)(unaff_s7,0x80,local_e4,local_d8,0);
            if (local_b8 == (code *)0x0) {
              (*pcVar13)(unaff_s7,0x80,local_e4,(int)ppppppiVar22 + 2,0);
            }
            else {
              (*(code *)(PTR_LAB_00190c58 + -0x7cdc))(param_1,local_b8);
            }
          }
          else {
            iVar8 = *(int *)(unaff_s1 + 8);
            if (iVar8 == 0) {
LAB_0010f910:
                    /* WARNING: Does not return */
              pcVar13 = (code *)trap(0);
              (*pcVar13)();
            }
            bVar4 = *(byte *)(iVar8 + 0x37);
            while ((bVar4 & 0xc0) != 0x80) {
              iVar8 = *(int *)(iVar8 + 0x14);
              if (iVar8 == 0) goto LAB_0010f910;
              bVar4 = *(byte *)(iVar8 + 0x37);
            }
            local_c8 = (int ******)(int)**(short **)(iVar8 + 4);
            (*pcVar13)(unaff_s7,0xa4,local_e4,local_c8,local_d8);
            (*pcVar13)(unaff_s7,0x4f,(int)ppppppiVar22 + 3U + (int)local_c8,(int)ppppppiVar22 + 2,0)
            ;
          }
          local_34 = (int ******)local_d4[6];
          local_30 = (int ******)local_d4[7];
          ppppppiVar30 = (int ******)(uint)*(byte *)((int)local_d4 + 0x31);
          if (ppppppiVar30 == (int ******)0x0) {
            pppppppiVar14 = (int *******)param_1[0x1d];
            if ((int *******)param_1[0x1d] == (int *******)0x0) {
              pppppppiVar14 = param_1;
            }
            local_e4 = (int ******)((int)ppppppiVar9 + (int)ppppppiVar22 + 1U);
            *(undefined1 *)(pppppppiVar14 + 5) = 1;
            (*pcVar13)(unaff_s7,0x66,local_d8,ppppppiVar9,local_e4);
            (*pcVar13)(unaff_s7,0x79,local_e8,local_d0,0);
            (*pcVar13)(unaff_s7,0x7a,local_e8,local_e4,local_d0);
            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);
            local_e0 = (int *******)(*pcVar13)(unaff_s7,0x24,local_e8,0,0);
            ppppppiVar22 = (int ******)0x0;
            if (0 < (int)ppppppiVar9) {
              do {
                local_e4 = (int ******)((int)ppppppiVar22 + 1);
                (*pcVar13)(unaff_s7,0x5a,local_e8,ppppppiVar22,local_d8 + (int)ppppppiVar22);
                ppppppiVar22 = local_e4;
              } while (ppppppiVar9 != local_e4);
            }
          }
          else {
            (*(code *)(PTR_LAB_00190ba4 + -0x2478))(*unaff_s7,unaff_s7 + 0x1a,local_e0);
            (*pcVar13)(unaff_s7,0x75,local_e4,0,0);
          }
          pppppppiVar14 = local_e0;
          (*(code *)(PTR_LAB_00190c2c + -0x3f00))(param_1,unaff_s1);
          uVar21 = (*pcVar13)(unaff_s7,10,0,ppppppiVar9,local_d8);
          (*(code *)(PTR_LAB_00190ba4 + 0x7a3c))(unaff_s7,uVar21,pcVar29,0xfffffff4);
          if (param_5 == 0xb) {
            param_5 = 2;
          }
          if (0 < (int)unaff_s7[0x1b]) {
            *(short *)((int)unaff_s7[0x1a] + (int)unaff_s7[0x1b] * 0x18 + -0x16) = (short)param_5;
          }
          if ((int *******)param_1[0x1d] != (int *******)0x0) {
            param_1 = (int *******)param_1[0x1d];
          }
          *(undefined1 *)((int)param_1 + 0x15) = 1;
          if (ppppppiVar30 == (int ******)0x0) {
            (*pcVar13)(unaff_s7,5,local_e8,(int)local_e0 + 1,0);
            if ((int)local_e0 < 0) {
              local_e0 = (int *******)((int)unaff_s7[0x1b] + -1);
            }
            if (*(char *)((int)*unaff_s7 + 0x51) == '\0') {
              ppppppiVar9 = unaff_s7[0x1a] + (int)local_e0 * 6;
            }
            else {
              ppppppiVar9 = (int ******)(PTR_DAT_00190948 + 0xfbc);
            }
            ppppppiVar9[2] = (int *****)unaff_s7[0x1b];
            (*pcVar13)(unaff_s7,0x75,local_e8,0,0);
          }
          else {
            (*(code *)(PTR_LAB_00190bc4 + 0x592c))(local_d4);
            pppppppiVar14 = param_1;
          }
        }
      }
    }
LAB_0010d60c:
    pppppppiVar16 = local_58;
    if (local_58 != (int *******)0x0) {
      local_58 = (int *******)0x0;
      pppppppiVar16[0x3b] = local_5c;
    }
    (*(code *)(PTR_LAB_00190ba8 + -0x2368))(ppppppiVar26,local_ec);
    (*(code *)(PTR_LAB_00190bb8 + -0x210c))(ppppppiVar26,param_2);
    param_1 = pppppppiVar14;
    unaff_s1 = pcVar20;
    unaff_s5 = pcVar29;
    unaff_s8 = ppppppiVar30;
LAB_0010d64c:
    (*(code *)(PTR_LAB_00190bb8 + -0x4644))(ppppppiVar26,param_3);
  } while( true );
}

